|
From: <dor...@gm...> - 2026-05-27 12:31:01
|
From: Doron Behar <dor...@gm...>
Avoid using AM_PATH_PYTHON as it does not support cross compilation
---
configure.ac | 24 ++++++++++++++++++------
1 file changed, 18 insertions(+), 6 deletions(-)
diff --git a/configure.ac b/configure.ac
index fe169a9a..9ff116c1 100644
--- a/configure.ac
+++ b/configure.ac
@@ -45,12 +45,24 @@ AC_CHECK_PROG([DOXYGEN],[doxygen],[yes],[no])
AM_CONDITIONAL(HAVE_DOXYGEN, test x$DOXYGEN = xyes)
LT_INIT([disable-static])
-AM_PATH_PYTHON([3.7],,)
-PKG_CHECK_MODULES([PYTHON],[python-${PYTHON_VERSION}m],,[true])
-test -z "$PYTHON_CFLAGS" && \
- PKG_CHECK_MODULES([PYTHON], [python-$PYTHON_VERSION],,[true])
-test -n "$PYTHON_CFLAGS" || \
- AC_MSG_WARN([No python package found (missing devel package?)])
+# Try the 'm' (malloc/abiflags) version first, fallback to standard python3
+PKG_CHECK_MODULES([PYTHON], [python3m >= 3.7], [pkg_cv_python_name="python3m"], [
+ PKG_CHECK_MODULES([PYTHON], [python3 >= 3.7], [pkg_cv_python_name="python3"], [
+ AC_MSG_WARN([No python package found >= 3.1 (missing devel package?)])
+ ])
+])
+AS_IF([test -n "$PYTHON_CFLAGS"], [
+ PYTHON=$($PKG_CONFIG --variable=executable "$pkg_cv_python_name")
+ PYTHON_VERSION=$($PKG_CONFIG --modversion "$pkg_cv_python_name" | awk -F. '{print $1"."$2}')
+ python_version_nodots=$(echo "$PYTHON_VERSION" | awk -F. '{print ($1 * 10) + $2}')
+], [
+ # This block is technically unreachable now due to AC_MSG_ERROR above, but
+ # we keep it safe and explicit for sanity.
+ AC_MSG_ERROR([Unexpected error: Python CFLAGS are empty.])
+])
+# Make PYTHON variables available in Makefile.am
+AC_SUBST([PYTHON])
+AC_SUBST([PYTHON_VERSION])
CFLAGS="$CFLAGS $PYTHON_CFLAGS"
--
2.54.0
|