diff options
Diffstat (limited to 'pjsip-apps/src/python/setup.py')
-rw-r--r-- | pjsip-apps/src/python/setup.py | 113 |
1 files changed, 113 insertions, 0 deletions
diff --git a/pjsip-apps/src/python/setup.py b/pjsip-apps/src/python/setup.py new file mode 100644 index 0000000..ae22491 --- /dev/null +++ b/pjsip-apps/src/python/setup.py @@ -0,0 +1,113 @@ +# $Id: setup.py 4122 2012-05-14 11:04:46Z bennylp $ +# +# pjsua Setup script. +# +# Copyright (C) 2003-2008 Benny Prijono <benny@prijono.org> +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +# +from distutils.core import setup, Extension +import os +import sys +import platform + +# find pjsip version +pj_version="" +pj_version_major="" +pj_version_minor="" +pj_version_rev="" +pj_version_suffix="" +f = open('../../../version.mak', 'r') +for line in f: + if line.find("export PJ_VERSION_MAJOR") != -1: + tokens=line.split("=") + if len(tokens)>1: + pj_version_major= tokens[1].strip() + elif line.find("export PJ_VERSION_MINOR") != -1: + tokens=line.split("=") + if len(tokens)>1: + pj_version_minor= line.split("=")[1].strip() + elif line.find("export PJ_VERSION_REV") != -1: + tokens=line.split("=") + if len(tokens)>1: + pj_version_rev= line.split("=")[1].strip() + elif line.find("export PJ_VERSION_SUFFIX") != -1: + tokens=line.split("=") + if len(tokens)>1: + pj_version_suffix= line.split("=")[1].strip() + +f.close() +if not pj_version_major: + print 'Unable to get PJ_VERSION_MAJOR' + sys.exit(1) + +pj_version = pj_version_major + "." + pj_version_minor +if pj_version_rev: + pj_version += "." + pj_version_rev +if pj_version_suffix: + pj_version += "-" + pj_version_suffix + +#print 'PJ_VERSION = "'+ pj_version + '"' + + +# Fill in pj_inc_dirs +pj_inc_dirs = [] +f = os.popen("make -f helper.mak inc_dir") +for line in f: + pj_inc_dirs.append(line.rstrip("\r\n")) +f.close() + +# Fill in pj_lib_dirs +pj_lib_dirs = [] +f = os.popen("make -f helper.mak lib_dir") +for line in f: + pj_lib_dirs.append(line.rstrip("\r\n")) +f.close() + +# Fill in pj_libs +pj_libs = [] +f = os.popen("make -f helper.mak libs") +for line in f: + pj_libs.append(line.rstrip("\r\n")) +f.close() + +# Mac OS X depedencies +if platform.system() == 'Darwin': + extra_link_args = ["-framework", "CoreFoundation", + "-framework", "AudioToolbox"] + # OS X Lion support + if platform.mac_ver()[0].startswith("10.7"): + extra_link_args += ["-framework", "AudioUnit"] +else: + extra_link_args = [] + + +setup(name="pjsua", + version=pj_version, + description='SIP User Agent Library based on PJSIP', + url='http://trac.pjsip.org/repos/wiki/Python_SIP_Tutorial', + ext_modules = [Extension("_pjsua", + ["_pjsua.c"], + define_macros=[('PJ_AUTOCONF', '1'),], + include_dirs=pj_inc_dirs, + library_dirs=pj_lib_dirs, + libraries=pj_libs, + extra_link_args=extra_link_args + ) + ], + py_modules=["pjsua"] + ) + + |