mirror of
https://git.notmuchmail.org/git/notmuch
synced 2024-11-22 02:48:08 +01:00
configure: use cffi.FFI().verify() to test buildability of CFFI bindings
Checking existence of pyconfig.h to determine whether CFFI-based notmuch bindings are buildable is not enough; for example Fedora 32 ships pyconfig.h in python3-libs package, but python3-devel is required to be installed for the bindings to build. Executing cffi.FFI().verify() is pretty close to what is done in bindings/python-cffi/notmuch2/_build.py to get the c code part of the bindings built.
This commit is contained in:
parent
411229f26b
commit
963e363a23
1 changed files with 7 additions and 8 deletions
15
configure
vendored
15
configure
vendored
|
@ -711,14 +711,12 @@ if [ $have_python -eq 0 ]; then
|
||||||
errors=$((errors + 1))
|
errors=$((errors + 1))
|
||||||
fi
|
fi
|
||||||
|
|
||||||
have_python3_dev=0
|
have_python3=0
|
||||||
if [ $have_python -eq 1 ]; then
|
if [ $have_python -eq 1 ]; then
|
||||||
printf "Checking for python3 dev (>= 3.5)..."
|
printf "Checking for python3 (>= 3.5)..."
|
||||||
if "$python" -c 'import os, sys, sysconfig;
|
if "$python" -c 'import sys, sysconfig; assert sys.version_info >= (3,5)'; >/dev/null 2>&1; then
|
||||||
assert sys.version_info >= (3,5)
|
|
||||||
assert os.path.isfile(sysconfig.get_config_h_filename())' >/dev/null 2>&1; then
|
|
||||||
printf "Yes.\n"
|
printf "Yes.\n"
|
||||||
have_python3_dev=1
|
have_python3=1
|
||||||
else
|
else
|
||||||
printf "No (will not install CFFI-based python bindings).\n"
|
printf "No (will not install CFFI-based python bindings).\n"
|
||||||
fi
|
fi
|
||||||
|
@ -726,14 +724,15 @@ fi
|
||||||
|
|
||||||
have_python3_cffi=0
|
have_python3_cffi=0
|
||||||
have_python3_pytest=0
|
have_python3_pytest=0
|
||||||
if [ $have_python3_dev -eq 1 ]; then
|
if [ $have_python3 -eq 1 ]; then
|
||||||
printf "Checking for python3 cffi and setuptools... "
|
printf "Checking for python3 cffi and setuptools... "
|
||||||
if "$python" -c 'import cffi; import setuptools' >/dev/null 2>&1; then
|
if "$python" -c 'import cffi,setuptools; cffi.FFI().verify()' >/dev/null 2>&1; then
|
||||||
printf "Yes.\n"
|
printf "Yes.\n"
|
||||||
have_python3_cffi=1
|
have_python3_cffi=1
|
||||||
else
|
else
|
||||||
printf "No (will not install CFFI-based python bindings).\n"
|
printf "No (will not install CFFI-based python bindings).\n"
|
||||||
fi
|
fi
|
||||||
|
rm -rf __pycache__ # cffi.FFI().verify() uses this space
|
||||||
|
|
||||||
printf "Checking for python3 pytest (>= 3.0)... "
|
printf "Checking for python3 pytest (>= 3.0)... "
|
||||||
conf=$(mktemp)
|
conf=$(mktemp)
|
||||||
|
|
Loading…
Reference in a new issue