X-Git-Url: http://rtime.felk.cvut.cz/gitweb/notmuch.git/blobdiff_plain/124a67e96ecab5495c0f17b6875d53dfd67ff137..cfabfc6dab95f28eaa3d7261bca38ade32a69f79:/configure diff --git a/configure b/configure index c24a9c85..ce1d6983 100755 --- a/configure +++ b/configure @@ -358,23 +358,40 @@ if [ ${have_xapian} = "0" ]; then errors=$((errors + 1)) fi -# Compaction is only supported on Xapian > 1.2.6 have_xapian_compact=0 +have_xapian_field_processor=0 if [ ${have_xapian} = "1" ]; then printf "Checking for Xapian compaction support... " - case "${xapian_version}" in - 0.*|1.[01].*|1.2.[0-5]) - printf "No (only available with Xapian > 1.2.6).\n" ;; - [1-9]*.[0-9]*.[0-9]*) - have_xapian_compact=1 - printf "Yes.\n" ;; - *) - printf "Unknown version.\n" ;; - esac -fi + cat>_compact.cc< +class TestCompactor : public Xapian::Compactor { }; +EOF + if ${CXX} ${CXXFLAGS_for_sh} ${xapian_cxxflags} -c _compact.cc -o _compact.o > /dev/null 2>&1 + then + have_xapian_compact=1 + printf "Yes.\n" + else + printf "No.\n" + fi -default_xapian_backend="" -if [ ${have_xapian} = "1" ]; then + rm -f _compact.o _compact.cc + + printf "Checking for Xapian FieldProcessor API... " + cat>_field_processor.cc< +class TitleFieldProcessor : public Xapian::FieldProcessor { }; +EOF + if ${CXX} ${CXXFLAGS_for_sh} ${xapian_cxxflags} -c _field_processor.cc -o _field_processor.o > /dev/null 2>&1 + then + have_xapian_field_processor=1 + printf "Yes.\n" + else + printf "No. (optional)\n" + fi + + rm -f _field_processor.o _field_processor.cc + + default_xapian_backend="" printf "Testing default Xapian backend... " cat >_default_backend.cc < @@ -392,6 +409,7 @@ EOF printf "%s\n" "${default_xapian_backend}"; 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 @@ HAVE_D_TYPE = ${have_d_type} # Whether the Xapian version in use supports compaction HAVE_XAPIAN_COMPACT = ${have_xapian_compact} +# Whether the Xapian version in use supports field processors +HAVE_XAPIAN_FIELD_PROCESSOR = ${have_xapian_field_processor} + # Whether the getpwuid_r function is standards-compliant # (if not, then notmuch will #define _POSIX_PTHREAD_SEMANTICS # to enable the standards-compliant version -- needed for Solaris) @@ -1063,33 +1084,24 @@ WITH_BASH = ${WITH_BASH} WITH_ZSH = ${WITH_ZSH} # Combined flags for compiling and linking against all of the above -CONFIGURE_CFLAGS = -DHAVE_GETLINE=\$(HAVE_GETLINE) \$(GMIME_CFLAGS) \\ - -DHAVE_CANONICALIZE_FILE_NAME=\$(HAVE_CANONICALIZE_FILE_NAME) \\ - \$(ZLIB_CFLAGS) \\ - \$(TALLOC_CFLAGS) -DHAVE_VALGRIND=\$(HAVE_VALGRIND) \\ - \$(VALGRIND_CFLAGS) \\ - -DHAVE_STRCASESTR=\$(HAVE_STRCASESTR) \\ - -DHAVE_STRSEP=\$(HAVE_STRSEP) \\ - -DHAVE_TIMEGM=\$(HAVE_TIMEGM) \\ - -DHAVE_D_TYPE=\$(HAVE_D_TYPE) \\ - -DSTD_GETPWUID=\$(STD_GETPWUID) \\ - -DSTD_ASCTIME=\$(STD_ASCTIME) \\ - -DHAVE_XAPIAN_COMPACT=\$(HAVE_XAPIAN_COMPACT) \\ - -DUTIL_BYTE_ORDER=\$(UTIL_BYTE_ORDER) - -CONFIGURE_CXXFLAGS = -DHAVE_GETLINE=\$(HAVE_GETLINE) \$(GMIME_CFLAGS) \\ - -DHAVE_CANONICALIZE_FILE_NAME=\$(HAVE_CANONICALIZE_FILE_NAME) \\ - \$(ZLIB_CFLAGS) \\ - \$(TALLOC_CFLAGS) -DHAVE_VALGRIND=\$(HAVE_VALGRIND) \\ - \$(VALGRIND_CFLAGS) \$(XAPIAN_CXXFLAGS) \\ - -DHAVE_STRCASESTR=\$(HAVE_STRCASESTR) \\ - -DHAVE_STRSEP=\$(HAVE_STRSEP) \\ - -DHAVE_TIMEGM=\$(HAVE_TIMEGM) \\ - -DHAVE_D_TYPE=\$(HAVE_D_TYPE) \\ - -DSTD_GETPWUID=\$(STD_GETPWUID) \\ - -DSTD_ASCTIME=\$(STD_ASCTIME) \\ - -DHAVE_XAPIAN_COMPACT=\$(HAVE_XAPIAN_COMPACT) \\ - -DUTIL_BYTE_ORDER=\$(UTIL_BYTE_ORDER) +COMMON_CONFIGURE_CFLAGS = \\ + \$(GMIME_CFLAGS) \$(TALLOC_CFLAGS) \$(ZLIB_CFLAGS) \\ + -DHAVE_VALGRIND=\$(HAVE_VALGRIND) \$(VALGRIND_CFLAGS) \\ + -DHAVE_GETLINE=\$(HAVE_GETLINE) \\ + -DHAVE_CANONICALIZE_FILE_NAME=\$(HAVE_CANONICALIZE_FILE_NAME) \\ + -DHAVE_STRCASESTR=\$(HAVE_STRCASESTR) \\ + -DHAVE_STRSEP=\$(HAVE_STRSEP) \\ + -DHAVE_TIMEGM=\$(HAVE_TIMEGM) \\ + -DHAVE_D_TYPE=\$(HAVE_D_TYPE) \\ + -DSTD_GETPWUID=\$(STD_GETPWUID) \\ + -DSTD_ASCTIME=\$(STD_ASCTIME) \\ + -DHAVE_XAPIAN_COMPACT=\$(HAVE_XAPIAN_COMPACT) \\ + -DHAVE_XAPIAN_FIELD_PROCESSOR=\$(HAVE_XAPIAN_FIELD_PROCESSOR) \\ + -DUTIL_BYTE_ORDER=\$(UTIL_BYTE_ORDER) + +CONFIGURE_CFLAGS = \$(COMMON_CONFIGURE_CFLAGS) + +CONFIGURE_CXXFLAGS = \$(COMMON_CONFIGURE_CFLAGS) \$(XAPIAN_CXXFLAGS) CONFIGURE_LDFLAGS = \$(GMIME_LDFLAGS) \$(TALLOC_LDFLAGS) \$(ZLIB_LDFLAGS) \$(XAPIAN_LDFLAGS) EOF @@ -1102,6 +1114,9 @@ cat > sh.config <