Skip to content

Commit

Permalink
Use python-config to find 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 change LOCALMODLIBS to MODLIBS.
  • Loading branch information
Julien-Elie committed Jan 25, 2024
1 parent 35c6aba commit 63e4ddf
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 @@ -132,20 +132,24 @@ AC_DEFUN([RRA_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", "MODLIBS", "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", "MODLIBS", "BASEMODLIBS", \
"LINKFORSHARED", "LDFLAGS")))'`])])
PYTHON_CPPFLAGS="-isystem $py_include"
py_libpython=`AS_ECHO(["$py_ldlibrary"]) \
| sed -e 's/^lib//' -e 's/\.@<:@a-z@:>@*$//'`
Expand Down

0 comments on commit 63e4ddf

Please sign in to comment.