diff options
| author | David Bremner <david@tethera.net> | 2026-03-10 06:31:47 +0900 |
|---|---|---|
| committer | David Bremner <david@tethera.net> | 2026-03-13 07:42:43 +0900 |
| commit | 51307ef90157601ca9a1865a24503e1428bcefb3 (patch) | |
| tree | 0ccc6791de1f6408524d86836fc526787d8abde7 | |
| parent | 076d597308bef11bd0a13977c1d5516beed2ed4c (diff) | |
configure: check for Xapian extended wildcard support
Xapian 2.0 supports extended wildcard queries in the query parser. To
quote the NEWS file:
WILDCARD_PATTERN_MULTI (which supports `*` wildcards anywhere in
the term, not just at the end as previously),
WILDCARD_PATTERN_SINGLE (which supports `?` wildcards matching a
single character), and WILDCARD_PATTERN_GLOB which enables both of
these.
This commit does not add any functionality, just detects if this
support is there in Xapian.
| -rwxr-xr-x | configure | 19 |
1 files changed, 17 insertions, 2 deletions
@@ -483,6 +483,17 @@ for xapian_config in ${XAPIAN_CONFIG} xapian-config; do have_xapian=1 xapian_cxxflags=$(${xapian_config} --cxxflags) xapian_ldflags=$(${xapian_config} --libs) + printf "Checking Xapian enhanced wildcards..." + printf '#include <xapian.h>\nint main() { printf ("%%d\\n", Xapian::QueryParser::FLAG_WILDCARD_GLOB); }' > _xapian_wildcard.cc + if ${CXX} -o _xapian_wildcard _xapian_wildcard.cc > /dev/null 2>&1 + then + have_xapian_wildcard_glob=1 + printf " Yes.\n" + else + printf " No.\n" + have_xapian_wildcard_glob=1 + fi + ;; *) printf "Xapian $xapian_version not supported... " esac @@ -1285,7 +1296,8 @@ done printf "\n\t%s\n" "${WARN_CFLAGS}" rm -f minimal minimal.c _time_t.c _libversion.c _libversion _libversion.sh _check_session_keys.c _check_session_keys _check_gmime_cert.c _check_x509_validity _check_email \ - _verify_sig_with_session_key.c _verify_sig_with_session_key + _verify_sig_with_session_key.c _verify_sig_with_session_key \ + _xapian_wildcard.cc _xapian_wildcard # construct the Makefile.config cat > Makefile.config <<EOF @@ -1501,7 +1513,7 @@ LINKER_RESOLVES_LIBRARY_DEPENDENCIES = ${linker_resolves_library_dependencies} # Flags needed to compile and link against Xapian XAPIAN_CXXFLAGS = ${xapian_cxxflags} XAPIAN_LDFLAGS = ${xapian_ldflags} - +HAVE_XAPIAN_WILDCARD_GLOB=${have_xapian_wildcard_glob} # Flags needed to compile and link against GMime GMIME_CFLAGS = ${gmime_cflags} GMIME_LDFLAGS = ${gmime_ldflags} @@ -1562,6 +1574,7 @@ COMMON_CONFIGURE_CFLAGS = \\ -DHAVE_D_TYPE=\$(HAVE_D_TYPE) \\ -DSTD_GETPWUID=\$(STD_GETPWUID) \\ -DSTD_ASCTIME=\$(STD_ASCTIME) \\ + -DHAVE_XAPIAN_WILDCARD_GLOB=\$(HAVE_XAPIAN_WILDCARD_GLOB) \\ -DSILENCE_XAPIAN_DEPRECATION_WARNINGS \\ -DHAVE_XAPIAN_DB_RETRY_LOCK=\$(HAVE_XAPIAN_DB_RETRY_LOCK) @@ -1585,6 +1598,8 @@ NOTMUCH_XAPIAN_LDFLAGS="${xapian_ldflags}" # Whether to have Xapian retry lock NOTMUCH_HAVE_XAPIAN_DB_RETRY_LOCK=${WITH_RETRY_LOCK} +# Whether Xapian query parser supports extended glob syntax +NOTMUCH_HAVE_XAPIAN_WILDCARD_GLOB=${have_xapian_wildcard_glob} # Flags needed to compile and link against GMime NOTMUCH_GMIME_CFLAGS="${gmime_cflags}" |
