]> git.notmuchmail.org Git - notmuch/blobdiff - configure
configure: removed $zlib_(cflags|ldflags) from compat code build
[notmuch] / configure
index ab42f9474edcf0e8f368feacc751e0bfe65da2d1..e16a9b761e7257551b39f7f60455e9d2d374afe4 100755 (executable)
--- a/configure
+++ b/configure
@@ -68,10 +68,13 @@ PYTHON=${PYTHON:-}
 PREFIX=/usr/local
 LIBDIR=
 WITH_DOCS=1
+WITH_API_DOCS=1
 WITH_EMACS=1
+WITH_DESKTOP=1
 WITH_BASH=1
 WITH_RUBY=1
 WITH_ZSH=1
+WITH_RETRY_LOCK=1
 
 usage ()
 {
@@ -136,10 +139,13 @@ Some features can be disabled (--with-feature=no is equivalent to
 --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-desktop               Do not install desktop 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:
@@ -182,11 +188,21 @@ for option; do
     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
@@ -195,6 +211,14 @@ for option; do
        fi
     elif [ "${option}" = '--without-emacs' ] ; then
        WITH_EMACS=0
+    elif [ "${option%%=*}" = '--with-desktop' ]; then
+       if [ "${option#*=}" = 'no' ]; then
+           WITH_DESKTOP=0
+       else
+           WITH_DESKTOP=1
+       fi
+    elif [ "${option}" = '--without-desktop' ] ; then
+       WITH_DESKTOP=0
     elif [ "${option%%=*}" = '--with-bash-completion' ]; then
        if [ "${option#*=}" = 'no' ]; then
            WITH_BASH=0
@@ -211,6 +235,14 @@ for option; do
        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
@@ -252,7 +284,7 @@ if [ -z "$LIBDIR" ] ; then
     libdir_expanded="${PREFIX}/lib"
 else
     # very non-general variable expansion
-    libdir_expanded=$(echo "$LIBDIR" | sed "s|\\${prefix}|${PREFIX}|g; s|\\$prefix/|${PREFIX}/|; s|//*|/|g")
+    libdir_expanded=$(printf %s "$LIBDIR" | sed "s|\${prefix}|${PREFIX}|; s|\$prefix\>|${PREFIX}|; s|//*|/|g")
 fi
 
 cat <<EOF
@@ -372,6 +404,7 @@ EOF
        printf "Yes.\n"
     else
        printf "No.\n"
+       errors=$((errors + 1))
     fi
 
     rm -f _compact.o _compact.cc
@@ -392,6 +425,24 @@ EOF
     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>
@@ -442,8 +493,7 @@ else
 fi
 
 if ! pkg-config --exists zlib; then
-  ${CC} ${zlib_cflags} -o compat/gen_zlib_pc \
-         "$srcdir"/compat/gen_zlib_pc.c ${zlib_ldflags} > /dev/null 2>&1 &&
+  ${CC} -o compat/gen_zlib_pc "$srcdir"/compat/gen_zlib_pc.c >/dev/null 2>&1 &&
   compat/gen_zlib_pc > compat/zlib.pc &&
   PKG_CONFIG_PATH="$PKG_CONFIG_PATH":compat &&
   export PKG_CONFIG_PATH
@@ -529,7 +579,7 @@ else
 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"
@@ -561,6 +611,16 @@ if [ $WITH_DOCS = "1" ] ; then
     fi
 fi
 
+if [ $WITH_DESKTOP = "1" ]; then
+    printf "Checking if desktop-file-install is available... "
+    if command -v desktop-file-install > /dev/null; then
+       printf "Yes.\n"
+    else
+       printf "No (so will not install .desktop file).\n"
+       WITH_DESKTOP=0
+    fi
+fi
+
 libdir_in_ldconfig=0
 
 printf "Checking which platform we are on... "
@@ -610,6 +670,8 @@ elif [ $uname = "Linux" ] || [ $uname = "GNU" ] ; then
     fi
 else
     printf "Unknown.\n"
+    platform="$uname"
+    linker_resolves_library_dependencies=0
     cat <<EOF
 
 *** Warning: Unknown platform. Notmuch might or might not build correctly.
@@ -617,19 +679,6 @@ else
 EOF
 fi
 
-printf "Checking byte order... "
-cat> _byteorder.c <<EOF
-#include <stdio.h>
-#include <stdint.h>
-uint32_t test = 0x34333231;
-int main() { printf("%.4s\n", (const char*)&test); return 0; }
-EOF
-${CC} ${CFLAGS} _byteorder.c -o _byteorder > /dev/null 2>&1
-util_byte_order=$(./_byteorder)
-echo $util_byte_order
-
-rm -f _byteorder _byteorder.c
-
 if [ $errors -gt 0 ]; then
     cat <<EOF
 
@@ -641,9 +690,9 @@ EOF
     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)"
@@ -663,7 +712,7 @@ EOF
     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
@@ -949,9 +998,6 @@ prefix = ${PREFIX}
 # LIBDIR_IN_LDCONFIG value below is still set correctly.
 libdir = ${LIBDIR:=\$(prefix)/lib}
 
-# byte order within a 32 bit word. 1234 = little, 4321 = big, 0 = guess
-UTIL_BYTE_ORDER = ${util_byte_order}
-
 # Whether libdir is in a path configured into ldconfig
 LIBDIR_IN_LDCONFIG = ${libdir_in_ldconfig}
 
@@ -1022,6 +1068,9 @@ 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 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)
@@ -1077,6 +1126,9 @@ VALGRIND_CFLAGS = ${valgrind_cflags}
 # Support for emacs
 WITH_EMACS = ${WITH_EMACS}
 
+# Support for desktop file
+WITH_DESKTOP = ${WITH_DESKTOP}
+
 # Support for bash completion
 WITH_BASH = ${WITH_BASH}
 
@@ -1084,35 +1136,25 @@ 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)         \\
-                  -DHAVE_XAPIAN_FIELD_PROCESSOR=\$(HAVE_XAPIAN_FIELD_PROCESSOR) \\
-                  -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)       \\
-                    -DHAVE_XAPIAN_FIELD_PROCESSOR=\$(HAVE_XAPIAN_FIELD_PROCESSOR) \\
-                    -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)           \\
+       -DSILENCE_XAPIAN_DEPRECATION_WARNINGS                   \\
+       -DHAVE_XAPIAN_FIELD_PROCESSOR=\$(HAVE_XAPIAN_FIELD_PROCESSOR) \\
+       -DHAVE_XAPIAN_DB_RETRY_LOCK=\$(HAVE_XAPIAN_DB_RETRY_LOCK)
+
+CONFIGURE_CFLAGS = \$(COMMON_CONFIGURE_CFLAGS)
+
+CONFIGURE_CXXFLAGS = \$(COMMON_CONFIGURE_CFLAGS) \$(XAPIAN_CXXFLAGS)
 
 CONFIGURE_LDFLAGS =  \$(GMIME_LDFLAGS) \$(TALLOC_LDFLAGS) \$(ZLIB_LDFLAGS) \$(XAPIAN_LDFLAGS)
 EOF
@@ -1128,6 +1170,9 @@ NOTMUCH_HAVE_XAPIAN_COMPACT=${have_xapian_compact}
 # 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}