From 0f680b988a08ea439438f4483d1d97a78145fb48 Mon Sep 17 00:00:00 2001 From: Nanang Izzuddin Date: Fri, 21 Feb 2014 07:49:37 +0000 Subject: More pjsua2 SWIG Python (re #1519): Separate library dependencies from Python Extension setting 'extra_link_args', so PJ lib dependencies are specified before Python's (otherwise strange crash happens on MinGW). git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@4756 74dad513-b988-da41-8d7b-12977e46ad98 --- pjsip-apps/src/swig/python/helper.mak | 7 ++++++- pjsip-apps/src/swig/python/setup.py | 10 +++++++++- 2 files changed, 15 insertions(+), 2 deletions(-) diff --git a/pjsip-apps/src/swig/python/helper.mak b/pjsip-apps/src/swig/python/helper.mak index a47ea6dd..4f45716d 100644 --- a/pjsip-apps/src/swig/python/helper.mak +++ b/pjsip-apps/src/swig/python/helper.mak @@ -2,10 +2,15 @@ include ../../../../build.mak include $(PJDIR)/build/common.mak ldflags: - @for token in `echo $(PJ_LDXXLIBS) $(PJ_LDXXFLAGS) $(LDFLAGS)`; do \ + @for token in `echo $(PJ_LDXXFLAGS) $(LDFLAGS)`; do \ echo $$token; \ done +libs: + @for token in `echo $(PJ_LDXXLIBS) $(LIBS)`; do \ + echo $$token | grep \\-l | sed 's/-l//'; \ + done + cflags: @for token in `echo $(PJ_CXXFLAGS) $(CFLAGS)`; do \ echo $$token; \ diff --git a/pjsip-apps/src/swig/python/setup.py b/pjsip-apps/src/swig/python/setup.py index 44b92b8e..0cb1fc54 100644 --- a/pjsip-apps/src/swig/python/setup.py +++ b/pjsip-apps/src/swig/python/setup.py @@ -73,6 +73,13 @@ for line in f: extra_compile_args.append(line.rstrip("\r\n")) f.close() +# Fill in libraries +libraries = [] +f = os.popen("make --no-print-directory -f helper.mak libs") +for line in f: + libraries.append(line.rstrip("\r\n")) +f.close() + # Fill in extra_link_args extra_link_args = [] f = os.popen("make --no-print-directory -f helper.mak ldflags") @@ -90,7 +97,8 @@ setup(name="pjsua2", description='SIP User Agent Library based on PJSIP', url='http://www.pjsip.org', ext_modules = [Extension("_pjsua2", - ["pjsua2_wrap.cpp"], + ["pjsua2_wrap.cpp"], + libraries=libraries, extra_compile_args=extra_compile_args, extra_link_args=extra_link_args ) -- cgit v1.2.3