]> git.notmuchmail.org Git - notmuch/commitdiff
configure: check explicitely for python dev (include) files
authorDavid Bremner <david@tethera.net>
Thu, 7 Oct 2021 11:59:06 +0000 (08:59 -0300)
committerDavid Bremner <david@tethera.net>
Sat, 9 Oct 2021 19:39:06 +0000 (16:39 -0300)
As discussed at [1] we have received reports that the implicit check
using cffi.FFI().verify() is not reliable in all environments. Since
we already use pkg-config, and the python dev package should include a
.pc file [2], add an extra check using pkg-config.  On at least
Debian, we have to know which version of python dev files with are
looking for, so calculate that first.

[1]: id:87im1g35ey.fsf@tethera.netid:87im1g35ey.fsf@tethera.net,
[2]: checked on Debian and Fedora

configure

index 4262d122ada0979d2d6ea88d7028bd45aeee3379..e2d40d113950968335d347c4b2eadcb27ca736c0 100755 (executable)
--- a/configure
+++ b/configure
@@ -775,9 +775,25 @@ if [ $have_python -eq 1 ]; then
     fi
 fi
 
+have_python3_dev=0
+if [ $have_python3 -eq 1 ]; then
+    printf "Checking for python3 version ..."
+    python3_version=$("$python" -c 'import sysconfig; print(sysconfig.get_python_version());')
+    printf "(%s)\n" $python3_version
+
+    printf "Checking for python $python3_version development files..."
+    if pkg-config --exists "python-$python3_version"; then
+        have_python3_dev=1
+        printf "Yes.\n"
+    else
+        have_python3_dev=0
+        printf "No (will not install CFFI-based python bindings).\n"
+    fi
+fi
+
 have_python3_cffi=0
 have_python3_pytest=0
-if [ $have_python3 -eq 1 ]; then
+if [ $have_python3_dev -eq 1 ]; then
     printf "Checking for python3 cffi and setuptools... "
     if "$python" -c 'import cffi,setuptools; cffi.FFI().verify()' >/dev/null 2>&1; then
         printf "Yes.\n"