Module: kamailio Branch: master Commit: 05af36d34aa2668780aa111878206c6797fa98b0 URL: https://github.com/kamailio/kamailio/commit/05af36d34aa2668780aa111878206c6797fa98b0
Author: Sebastian Kemper <sebastian...@gmx.net> Committer: Sebastian Kemper <sebastian...@gmx.net> Date: 2020-04-12T09:37:50+02:00 app_python3: update Python3 detection mechanism This commit - removes the python calls whose output is never actually used. - changes the include discovery to use python3(.x)-config. This is preferable because it also works for cross-compiling. Calling python3(.x) directly will always provide host flags, which for cross-compiling is not feasible. - updates LDFLAGS discovery to also work with >= Python 3.8. To achieve this python3(.x)-config is first run with the argument "--embed". If this does not succeed (exit status 1) python3(.x)-config is run again without "--embed". This is the method suggested by Python upstream to provide backwards compatibility. See [1] for more details. [1] https://docs.python.org/3/whatsnew/3.8.html Signed-off-by: Sebastian Kemper <sebastian...@gmx.net> --- Modified: src/modules/app_python3/Makefile --- Diff: https://github.com/kamailio/kamailio/commit/05af36d34aa2668780aa111878206c6797fa98b0.diff Patch: https://github.com/kamailio/kamailio/commit/05af36d34aa2668780aa111878206c6797fa98b0.patch --- diff --git a/src/modules/app_python3/Makefile b/src/modules/app_python3/Makefile index 1c9ff1c6b6..d31cd6ab10 100644 --- a/src/modules/app_python3/Makefile +++ b/src/modules/app_python3/Makefile @@ -11,18 +11,16 @@ NAME=app_python3.so # but no testing has been done with that. PYTHON3?=python3 -PYTHON3_VERSION=${shell ${PYTHON3} -c "import distutils.sysconfig;print(distutils.sysconfig.get_config_var('VERSION'))"} -PYTHON3_LIBDIR=${shell ${PYTHON3} -c "import distutils.sysconfig;print(distutils.sysconfig.get_config_var('LIBDIR'))"} -PYTHON3_LDFLAGS=${shell ${PYTHON3} -c "import distutils.sysconfig;print(distutils.sysconfig.get_config_var('LINKFORSHARED'))"} -PYTHON3_INCDIR=${shell ${PYTHON3} -c "import distutils.sysconfig;print(distutils.sysconfig.get_python_inc())"} - -LIBS=${shell ${PYTHON3}-config --ldflags} +LIBS=${shell \ + tmp_py3_libs=$$(${PYTHON3}-config --ldflags --embed) || \ + tmp_py3_libs=$$(${PYTHON3}-config --ldflags); \ + echo $$tmp_py3_libs} ifeq ($(OS), freebsd) LIBS+=-pthread endif -DEFS+=-I${PYTHON3_INCDIR} +DEFS+=${shell ${PYTHON3}-config --includes} include ../../Makefile.modules _______________________________________________ Kamailio (SER) - Development Mailing List sr-dev@lists.kamailio.org https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-dev