summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNanang Izzuddin <nanang@teluu.com>2014-02-21 07:49:37 +0000
committerNanang Izzuddin <nanang@teluu.com>2014-02-21 07:49:37 +0000
commit0f680b988a08ea439438f4483d1d97a78145fb48 (patch)
tree7992fba955b80545561be367bb5415d65ffff92a
parent3c1f16b11fde9004f93cab80993f1bbee39ca0cf (diff)
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
-rw-r--r--pjsip-apps/src/swig/python/helper.mak7
-rw-r--r--pjsip-apps/src/swig/python/setup.py10
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
)