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
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"