PREFIX=/usr/local
LIBDIR=
WITH_DOCS=1
+WITH_API_DOCS=1
WITH_EMACS=1
WITH_BASH=1
WITH_RUBY=1
WITH_ZSH=1
+WITH_RETRY_LOCK=1
usage ()
{
--without-feature) :
--without-bash-completion Do not install bash completions files
- --without-docs Do not install documentation and man pages
+ --without-docs Do not install documentation
+ --without-api-docs Do not install API man page
--without-emacs Do not install lisp file
--without-ruby Do not install ruby bindings
--without-zsh-completion Do not install zsh completions files
+ --without-retry-lock Do not use blocking xapian opens, even if available
Additional options are accepted for compatibility with other
configure-script calling conventions, but don't do anything yet:
elif [ "${option%%=*}" = '--with-docs' ]; then
if [ "${option#*=}" = 'no' ]; then
WITH_DOCS=0
+ WITH_API_DOCS=0
else
WITH_DOCS=1
fi
elif [ "${option}" = '--without-docs' ] ; then
WITH_DOCS=0
+ WITH_API_DOCS=0
+ elif [ "${option%%=*}" = '--with-api-docs' ]; then
+ if [ "${option#*=}" = 'no' ]; then
+ WITH_API_DOCS=0
+ else
+ WITH_API_DOCS=1
+ fi
+ elif [ "${option}" = '--without-api-docs' ] ; then
+ WITH_API_DOCS=0
elif [ "${option%%=*}" = '--with-emacs' ]; then
if [ "${option#*=}" = 'no' ]; then
WITH_EMACS=0
fi
elif [ "${option}" = '--without-ruby' ] ; then
WITH_RUBY=0
+ elif [ "${option%%=*}" = '--with-retry-lock' ]; then
+ if [ "${option#*=}" = 'no' ]; then
+ WITH_RETRY_LOCK=0
+ else
+ WITH_RETRY_LOCK=1
+ fi
+ elif [ "${option}" = '--without-retry-lock' ] ; then
+ WITH_RETRY_LOCK=0
elif [ "${option%%=*}" = '--with-zsh-completion' ]; then
if [ "${option#*=}" = 'no' ]; then
WITH_ZSH=0
printf "Yes.\n"
else
printf "No.\n"
+ errors=$((errors + 1))
fi
rm -f _compact.o _compact.cc
rm -f _field_processor.o _field_processor.cc
default_xapian_backend=""
+ # DB_RETRY_LOCK is only supported on Xapian > 1.3.2
+ have_xapian_db_retry_lock=0
+ if [ $WITH_RETRY_LOCK = "1" ]; then
+ printf "Checking for Xapian lock retry support... "
+ cat>_retry.cc<<EOF
+#include <xapian.h>
+int flag = Xapian::DB_RETRY_LOCK;
+EOF
+ if ${CXX} ${CXXFLAGS_for_sh} ${xapian_cxxflags} -c _retry.cc -o _retry.o > /dev/null 2>&1
+ then
+ have_xapian_db_retry_lock=1
+ printf "Yes.\n"
+ else
+ printf "No. (optional)\n"
+ fi
+ rm -f _retry.o _retry.cc
+ fi
+
printf "Testing default Xapian backend... "
cat >_default_backend.cc <<EOF
#include <xapian.h>
fi
have_doxygen=0
-if [ $WITH_DOCS = "1" ] ; then
+if [ $WITH_API_DOCS = "1" ] ; then
printf "Checking if doxygen is available... "
if command -v doxygen > /dev/null; then
printf "Yes.\n"
fi
else
printf "Unknown.\n"
+ platform="$uname"
+ linker_resolves_library_dependencies=0
cat <<EOF
*** Warning: Unknown platform. Notmuch might or might not build correctly.
if [ $have_python -eq 0 ]; then
echo " python interpreter"
fi
- if [ $have_xapian -eq 0 ]; then
- echo " Xapian library (including development files such as headers)"
- echo " http://xapian.org/"
+ if [ $have_xapian -eq 0 -o $have_xapian_compact -eq 0 ]; then
+ echo " Xapian library (>= version 1.2.6, including development files such as headers)"
+ echo " https://xapian.org/"
fi
if [ $have_zlib -eq 0 ]; then
echo " zlib library (>= version 1.2.5.2, including development files such as headers)"
fi
if [ $have_talloc -eq 0 ]; then
echo " The talloc library (including development files such as headers)"
- echo " http://talloc.samba.org/"
+ echo " https://talloc.samba.org/"
echo
fi
cat <<EOF
# Whether the Xapian version in use supports field processors
HAVE_XAPIAN_FIELD_PROCESSOR = ${have_xapian_field_processor}
+# Whether the Xapian version in use supports DB_RETRY_LOCK
+HAVE_XAPIAN_DB_RETRY_LOCK = ${have_xapian_db_retry_lock}
+
# 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)
-DSTD_ASCTIME=\$(STD_ASCTIME) \\
-DHAVE_XAPIAN_COMPACT=\$(HAVE_XAPIAN_COMPACT) \\
-DHAVE_XAPIAN_FIELD_PROCESSOR=\$(HAVE_XAPIAN_FIELD_PROCESSOR) \\
+ -DHAVE_XAPIAN_DB_RETRY_LOCK=\$(HAVE_XAPIAN_DB_RETRY_LOCK) \\
-DUTIL_BYTE_ORDER=\$(UTIL_BYTE_ORDER)
CONFIGURE_CFLAGS = \$(COMMON_CONFIGURE_CFLAGS)
# Whether the Xapian version in use supports field processors
NOTMUCH_HAVE_XAPIAN_FIELD_PROCESSOR=${have_xapian_field_processor}
+# Whether the Xapian version in use supports lock retry
+NOTMUCH_HAVE_XAPIAN_DB_RETRY_LOCK=${have_xapian_db_retry_lock}
+
# Which backend will Xapian use by default?
NOTMUCH_DEFAULT_XAPIAN_BACKEND=${default_xapian_backend}