[PATCH 5/6] configure.ac: query for a Python only with PKG_CHECK_MODULES

[email protected] Wed, 27 May 2026 15:29:02 +0300
Newsgroups gmane.comp.hardware.lirc
Message-ID <[email protected]>
From: Doron Behar <[email protected]>

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