Skip to content

Commit

Permalink
Use python-config to find Python link flags
Browse files Browse the repository at this point in the history
Thanks to Matthias Klose for the bug report, and proposal of patch
using python-config.  Fall back on the previous behaviour when
python-config is not installed.

Also, remove LOCALMODLIBS as it should not actually be used and breaks
the build with recent Python versions.  Only keep BASEMODLIBS.

close #295
  • Loading branch information
Julien-Elie committed Feb 11, 2024
1 parent 8a016f8 commit b3abd6b
Showing 1 changed file with 12 additions and 8 deletions.
20 changes: 12 additions & 8 deletions m4/python.m4
Original file line number Diff line number Diff line change
Expand Up @@ -130,20 +130,24 @@ AC_DEFUN([INN_LIB_PYTHON],
print(" -L".join(sysconfig.get_config_vars("LIBDIR")))'`
py_ldlibrary=`$PYTHON -c 'import sysconfig; \
print(sysconfig.get_config_vars("LDLIBRARY")@<:@0@:>@)'`
py_linkage=`$PYTHON -c 'import sysconfig; \
print(" ".join(sysconfig.get_config_vars( \
"LIBS", "LIBC", "LIBM", "LOCALMODLIBS", "BASEMODLIBS", \
"LINKFORSHARED", "LDFLAGS")))'`],
AS_IF([test -x "${PYTHON}-config"],
[py_linkage=`${PYTHON}-config --libs 2>/dev/null`],
[py_linkage=`$PYTHON -c 'import sysconfig; \
print(" ".join(sysconfig.get_config_vars( \
"LIBS", "LIBC", "LIBM", "BASEMODLIBS", \
"LINKFORSHARED", "LDFLAGS")))'`])],
[py_include=`$PYTHON -c 'import distutils.sysconfig; \
print(distutils.sysconfig.get_python_inc())'`
py_libdir=`$PYTHON -c 'import distutils.sysconfig; \
print(" -L".join(distutils.sysconfig.get_config_vars("LIBDIR")))'`
py_ldlibrary=`$PYTHON -c 'import distutils.sysconfig; \
print(distutils.sysconfig.get_config_vars("LDLIBRARY")@<:@0@:>@)'`
py_linkage=`$PYTHON -c 'import distutils.sysconfig; \
print(" ".join(distutils.sysconfig.get_config_vars( \
"LIBS", "LIBC", "LIBM", "LOCALMODLIBS", "BASEMODLIBS", \
"LINKFORSHARED", "LDFLAGS")))'`])
AS_IF([test -x "${PYTHON}-config"],
[py_linkage=`${PYTHON}-config --libs 2>/dev/null`],
[py_linkage=`$PYTHON -c 'import distutils.sysconfig; \
print(" ".join(distutils.sysconfig.get_config_vars( \
"LIBS", "LIBC", "LIBM", "BASEMODLIBS", \
"LINKFORSHARED", "LDFLAGS")))'`])])
PYTHON_CPPFLAGS="-I$py_include"
py_libpython=`AS_ECHO(["$py_ldlibrary"]) \
| sed -e 's/^lib//' -e 's/\.@<:@a-z@:>@*$//'`
Expand Down

0 comments on commit b3abd6b

Please sign in to comment.