From deb4e5567c42afe834d83868b9337277256a0d66 Mon Sep 17 00:00:00 2001 From: David Bremner Date: Fri, 8 Apr 2016 22:49:49 -0300 Subject: [PATCH] configure: add test for default xapian backend This is mainly for the test suite. We already expect the tests to be run in the same environment as configure was run, at least to get the name of the python interpreter. So we are not really imposing a new restriction. --- configure | 26 +++++++++++++++++++++++++- test/test-lib.sh | 11 +++++++++++ 2 files changed, 36 insertions(+), 1 deletion(-) diff --git a/configure b/configure index eb6dbace..4fc31ccf 100755 --- a/configure +++ b/configure @@ -371,7 +371,25 @@ if [ ${have_xapian} = "1" ]; then esac fi - +default_xapian_backend="" +if [ ${have_xapian} = "1" ]; then + 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} ${CXXLAGS} ${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 "${default_xapian_backend}\n"; + rm -rf test.db _default_backend _default_backend.cc +fi # we need to have a version >= 2.6.5 to avoid a crypto bug. We need # 2.6.7 for permissive "From " header handling. GMIME_MINVER=2.6.7 @@ -1001,6 +1019,9 @@ LINKER_RESOLVES_LIBRARY_DEPENDENCIES = ${linker_resolves_library_dependencies} XAPIAN_CXXFLAGS = ${xapian_cxxflags} XAPIAN_LDFLAGS = ${xapian_ldflags} +# Which backend will Xapian use by default? +DEFAULT_XAPIAN_BACKEND = ${default_xapian_backend} + # Flags needed to compile and link against GMime GMIME_CFLAGS = ${gmime_cflags} GMIME_LDFLAGS = ${gmime_ldflags} @@ -1077,6 +1098,9 @@ cat > sh.config </dev/null && test -h y 2>/dev/null && test_set_prereq SYMLINKS rm -f y +# convert variable from configure to more convenient form +case "$NOTMUCH_DEFAULT_XAPIAN_BACKEND" in + glass) + db_ending=glass + ;; + chert) + db_ending=DB + ;; + *) + error "Unknown Xapian backend $NOTMUCH_DEFAULT_XAPIAN_BACKEND" +esac # declare prerequisites for external binaries used in tests test_declare_external_prereq dtach test_declare_external_prereq emacs -- 2.26.2