X-Git-Url: https://git.notmuchmail.org/git?a=blobdiff_plain;f=configure;h=e2d40d113950968335d347c4b2eadcb27ca736c0;hb=a4b1c3933137ca71793f185a82c44442233c2b46;hp=98f5f1ea8e255e98f9f03a450ea3d3d29eba6d10;hpb=7aaf6cbe9ac20d99046d1bdf260fe0fa72519760;p=notmuch diff --git a/configure b/configure index 98f5f1ea..e2d40d11 100755 --- a/configure +++ b/configure @@ -455,26 +455,6 @@ if [ ${have_xapian} = "0" ]; then errors=$((errors + 1)) fi -if [ ${have_xapian} = "1" ]; then - default_xapian_backend="" - printf "Testing default Xapian backend... " - cat >_default_backend.cc < -int main(int argc, char** argv) { - Xapian::WritableDatabase db("test.db",Xapian::DB_CREATE_OR_OPEN); -} -EOF - ${CXX} ${CXXFLAGS_for_sh} ${xapian_cxxflags} _default_backend.cc -o _default_backend ${xapian_ldflags} - ./_default_backend - if [ -f test.db/iamglass ]; then - default_xapian_backend=glass - else - default_xapian_backend=chert - fi - printf "%s\n" "${default_xapian_backend}"; - rm -rf test.db _default_backend _default_backend.cc -fi - GMIME_MINVER=3.0.3 printf "Checking for GMime development files (>= $GMIME_MINVER)... " @@ -795,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" @@ -812,7 +808,7 @@ if [ $have_python3 -eq 1 ]; then printf "Checking for python3 pytest (>= 3.0)... " conf=$(mktemp) printf "[pytest]\nminversion=3.0\n" > $conf - if pytest-3 -c $conf --version >/dev/null 2>&1; then + if "$python" -m pytest -c $conf --version >/dev/null 2>&1; then printf "Yes.\n" have_python3_pytest=1 else @@ -840,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 @@ -849,8 +858,8 @@ if [ -z "${EMACSETCDIR-}" ]; then fi if [ $WITH_EMACS = "1" ]; then - printf "Checking if emacs (>= 24) is available... " - if emacs --quick --batch --eval '(if (< emacs-major-version 24) (kill-emacs 1))' > /dev/null 2>&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" else printf "No (disabling emacs related parts of build)\n" @@ -1463,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} @@ -1479,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) \\ @@ -1495,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 @@ -1508,9 +1525,6 @@ NOTMUCH_SRCDIR='${NOTMUCH_SRCDIR}' # Whether to have Xapian retry lock NOTMUCH_HAVE_XAPIAN_DB_RETRY_LOCK=${WITH_RETRY_LOCK} -# Which backend will Xapian use by default? -NOTMUCH_DEFAULT_XAPIAN_BACKEND=${default_xapian_backend} - # Whether GMime can verify X.509 certificate validity NOTMUCH_GMIME_X509_CERT_VALIDITY=${gmime_x509_cert_validity} @@ -1547,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 @@ -1559,7 +1576,7 @@ EOF if [ $WITH_PYTHON_DOCS = "1" ]; then 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.