X-Git-Url: https://git.notmuchmail.org/git?p=notmuch;a=blobdiff_plain;f=configure;h=6c3a38f1098ace4d563f5962d9470013e898175a;hp=40e8b2559e86b40985ef2c6dc142eb0104c3ddb6;hb=2394ee6289a2fc2628f198b4a9920116148dd814;hpb=00dc5dd82435f9130df771dd3b9ac54283bdd495 diff --git a/configure b/configure index 40e8b255..6c3a38f1 100755 --- a/configure +++ b/configure @@ -496,16 +496,16 @@ int main () { } EOF if ! TEMP_GPG=$(mktemp -d "${TMPDIR:-/tmp}/notmuch.XXXXXX"); then - printf 'No.\nCould not make tempdir for testing session-key support.\n' - errors=$((errors + 1)) + printf 'No.\nCould not make tempdir for testing session-key support.\n' + errors=$((errors + 1)) elif ${CC} ${CFLAGS} ${gmime_cflags} _check_session_keys.c ${gmime_ldflags} -o _check_session_keys \ - && GNUPGHOME=${TEMP_GPG} gpg --batch --quiet --import < "$srcdir"/test/gnupg-secret-key.asc \ - && SESSION_KEY=$(GNUPGHOME=${TEMP_GPG} ./_check_session_keys) \ - && [ $SESSION_KEY = 9:0BACD64099D1468AB07C796F0C0AC4851948A658A15B34E803865E9FC635F2F5 ] + && GNUPGHOME=${TEMP_GPG} gpg --batch --quiet --import < "$srcdir"/test/gnupg-secret-key.asc \ + && SESSION_KEY=$(GNUPGHOME=${TEMP_GPG} ./_check_session_keys) \ + && [ $SESSION_KEY = 9:0BACD64099D1468AB07C796F0C0AC4851948A658A15B34E803865E9FC635F2F5 ] then - printf "OK.\n" + printf "OK.\n" else - cat </dev/null; then - printf 'Your current GPGME development version is: %s\n' "$(gpgme-config --version)" - else - printf 'You do not have the GPGME development libraries installed.\n' - fi - errors=$((errors + 1)) + if command -v gpgme-config >/dev/null; then + printf 'Your current GPGME development version is: %s\n' "$(gpgme-config --version)" + else + printf 'You do not have the GPGME development libraries installed.\n' + fi + errors=$((errors + 1)) fi if [ -n "$TEMP_GPG" -a -d "$TEMP_GPG" ]; then - rm -rf "$TEMP_GPG" + rm -rf "$TEMP_GPG" fi # see https://github.com/jstedfast/gmime/pull/90 @@ -570,36 +570,36 @@ int main () { } EOF if ! TEMP_GPG=$(mktemp -d "${TMPDIR:-/tmp}/notmuch.XXXXXX"); then - printf 'No.\nCould not make tempdir for testing X.509 certificate validity support.\n' - errors=$((errors + 1)) + printf 'No.\nCould not make tempdir for testing X.509 certificate validity support.\n' + errors=$((errors + 1)) elif ${CC} ${CFLAGS} ${gmime_cflags} _check_x509_validity.c ${gmime_ldflags} -o _check_x509_validity \ - && echo disable-crl-checks > "$TEMP_GPG/gpgsm.conf" \ - && echo "4D:E0:FF:63:C0:E9:EC:01:29:11:C8:7A:EE:DA:3A:9A:7F:6E:C1:0D S" >> "$TEMP_GPG/trustlist.txt" \ - && GNUPGHOME=${TEMP_GPG} gpgsm --batch --quiet --import < "$srcdir"/test/smime/ca.crt + && echo disable-crl-checks > "$TEMP_GPG/gpgsm.conf" \ + && echo "4D:E0:FF:63:C0:E9:EC:01:29:11:C8:7A:EE:DA:3A:9A:7F:6E:C1:0D S" >> "$TEMP_GPG/trustlist.txt" \ + && GNUPGHOME=${TEMP_GPG} gpgsm --batch --quiet --import < "$srcdir"/test/smime/ca.crt then - if GNUPGHOME=${TEMP_GPG} ./_check_x509_validity; then - gmime_x509_cert_validity=1 - printf "Yes.\n" - else - gmime_x509_cert_validity=0 - printf "No.\n" - if pkg-config --exists "gmime-3.0 >= 3.2.7"; then - cat <= 3.2.7"; then + cat <= 3.5)..." if "$python" -c 'import sys, sysconfig; assert sys.version_info >= (3,5)'; >/dev/null 2>&1; then - printf "Yes.\n" - have_python3=1 + printf "Yes.\n" + have_python3=1 + else + printf "No (will not install CFFI-based python bindings).\n" + 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 - printf "No (will not install CFFI-based python bindings).\n" + 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" - have_python3_cffi=1 - WITH_PYTHON_DOCS=1 + printf "Yes.\n" + have_python3_cffi=1 + WITH_PYTHON_DOCS=1 else - WITH_PYTHON_DOCS=0 - printf "No (will not install CFFI-based python bindings).\n" + WITH_PYTHON_DOCS=0 + printf "No (will not install CFFI-based python bindings).\n" fi rm -rf __pycache__ # cffi.FFI().verify() uses this space @@ -793,10 +809,10 @@ if [ $have_python3 -eq 1 ]; then conf=$(mktemp) printf "[pytest]\nminversion=3.0\n" > $conf if "$python" -m pytest -c $conf --version >/dev/null 2>&1; then - printf "Yes.\n" - have_python3_pytest=1 + printf "Yes.\n" + have_python3_pytest=1 else - printf "No (will not test CFFI-based python bindings).\n" + printf "No (will not test CFFI-based python bindings).\n" fi rm -f $conf fi @@ -820,6 +836,19 @@ else WITH_BASH=0 fi +printf "Checking for sfsexp... " +if pkg-config --exists sfsexp; then + printf "Yes.\n" + have_sfsexp=1 + sfsexp_cflags=$(pkg-config --cflags sfsexp) + sfsexp_ldflags=$(pkg-config --libs sfsexp) +else + printf "No (will not enable s-expression queries).\n" + have_sfsexp=0 + sfsexp_cflags= + sfsexp_ldflags= +fi + if [ -z "${EMACSLISPDIR-}" ]; then EMACSLISPDIR="\$(prefix)/share/emacs/site-lisp" fi @@ -831,10 +860,10 @@ fi if [ $WITH_EMACS = "1" ]; then printf "Checking if emacs (>= 25) is available... " if emacs --quick --batch --eval '(if (< emacs-major-version 25) (kill-emacs 1))' > /dev/null 2>&1; then - printf "Yes.\n" + printf "Yes.\n" else - printf "No (disabling emacs related parts of build)\n" - WITH_EMACS=0 + printf "No (disabling emacs related parts of build)\n" + WITH_EMACS=0 fi fi @@ -1443,6 +1472,13 @@ HAVE_VALGRIND = ${have_valgrind} # And if so, flags needed at compile time for valgrind macros VALGRIND_CFLAGS = ${valgrind_cflags} +# Whether the sfsexp library is available +HAVE_SFSEXP = ${have_sfsexp} + +# And if so, flags needed at compile/link time for sfsexp +SFSEXP_CFLAGS = ${sfsexp_cflags} +SFSEXP_LDFLAGS = ${sfsexp_ldflags} + # Support for emacs WITH_EMACS = ${WITH_EMACS} @@ -1459,6 +1495,7 @@ WITH_ZSH = ${WITH_ZSH} COMMON_CONFIGURE_CFLAGS = \\ \$(GMIME_CFLAGS) \$(TALLOC_CFLAGS) \$(ZLIB_CFLAGS) \\ -DHAVE_VALGRIND=\$(HAVE_VALGRIND) \$(VALGRIND_CFLAGS) \\ + -DHAVE_SFSEXP=\$(HAVE_SFSEXP) \$(SFSEXP_CFLAGS) \\ -DHAVE_GETLINE=\$(HAVE_GETLINE) \\ -DWITH_EMACS=\$(WITH_EMACS) \\ -DHAVE_CANONICALIZE_FILE_NAME=\$(HAVE_CANONICALIZE_FILE_NAME) \\ @@ -1475,7 +1512,7 @@ CONFIGURE_CFLAGS = \$(COMMON_CONFIGURE_CFLAGS) CONFIGURE_CXXFLAGS = \$(COMMON_CONFIGURE_CFLAGS) \$(XAPIAN_CXXFLAGS) -CONFIGURE_LDFLAGS = \$(GMIME_LDFLAGS) \$(TALLOC_LDFLAGS) \$(ZLIB_LDFLAGS) \$(XAPIAN_LDFLAGS) +CONFIGURE_LDFLAGS = \$(GMIME_LDFLAGS) \$(TALLOC_LDFLAGS) \$(ZLIB_LDFLAGS) \$(XAPIAN_LDFLAGS) \$(SFSEXP_LDFLAGS) EOF # construct the sh.config @@ -1524,6 +1561,9 @@ NOTMUCH_HAVE_PYTHON3_CFFI=${have_python3_cffi} # Is the python pytest package available? NOTMUCH_HAVE_PYTHON3_PYTEST=${have_python3_pytest} +# Is the sfsexp library available? +NOTMUCH_HAVE_SFSEXP=${have_sfsexp} + # Platform we are run on PLATFORM=${platform} EOF @@ -1531,12 +1571,12 @@ EOF { echo "# Generated by configure, run from doc/conf.py" if [ $WITH_EMACS = "1" ]; then - echo "tags.add('WITH_EMACS')" + echo "tags.add('WITH_EMACS')" fi if [ $WITH_PYTHON_DOCS = "1" ]; then - echo "tags.add('WITH_PYTHON')" + echo "tags.add('WITH_PYTHON')" fi - printf "rsti_dir = '%s'\n" $(realpath emacs) + printf "rsti_dir = '%s'\n" "$(cd emacs && pwd -P)" } > sphinx.config # Finally, after everything configured, inform the user how to continue.