X-Git-Url: https://git.notmuchmail.org/git?p=notmuch;a=blobdiff_plain;f=configure;h=0c6cdb01bbe0132b38b5809950a6ee4d1786708b;hp=d2898803650543829de833017596056616aedc71;hb=2b7b32fc476d0d9b52fc69ee1690b15ea1360207;hpb=c9e1c4f1c495d7cc24a64b73edb4b7b71791a87f diff --git a/configure b/configure index d2898803..0c6cdb01 100755 --- a/configure +++ b/configure @@ -51,7 +51,7 @@ CPPFLAGS=${CPPFLAGS:-} CXXFLAGS_for_sh=${CXXFLAGS:-${CFLAGS}} CXXFLAGS=${CXXFLAGS:-\$(CFLAGS)} LDFLAGS=${LDFLAGS:-} -XAPIAN_CONFIG=${XAPIAN_CONFIG:-xapian-config} +XAPIAN_CONFIG=${XAPIAN_CONFIG:-} PYTHON=${PYTHON:-} # We don't allow the EMACS or GZIP Makefile variables inherit values @@ -71,16 +71,6 @@ WITH_BASH=1 WITH_RUBY=1 WITH_ZSH=1 -# Compatible GMime versions (with constraints). -# If using GMime 2.6, 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_24_VERSION_CTR='' -GMIME_24_VERSION="gmime-2.4 $GMIME_24_VERSION_CTR" -GMIME_26_VERSION_CTR='>= 2.6.7' -GMIME_26_VERSION="gmime-2.6 $GMIME_26_VERSION_CTR" - -WITH_GMIME_VERSIONS="$GMIME_26_VERSION;$GMIME_24_VERSION" - usage () { cat < /dev/null 2>&1; then xapian_version=$(${xapian_config} --version | sed -e 's/.* //') printf "Yes (%s).\n" ${xapian_version} @@ -391,20 +371,37 @@ if [ ${have_xapian} = "1" ]; then esac fi -printf "Checking for GMime development files... " -have_gmime=0 -IFS=';' -for gmimepc in $WITH_GMIME_VERSIONS; do - if pkg-config --exists $gmimepc; then - printf "Yes ($gmimepc).\n" - have_gmime=1 - gmime_cflags=$(pkg-config --cflags $gmimepc) - gmime_ldflags=$(pkg-config --libs $gmimepc) - break +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 -done -IFS=$DEFAULT_IFS -if [ "$have_gmime" = "0" ]; then + 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 + +printf "Checking for GMime development files... " +if pkg-config --exists "gmime-2.6 >= $GMIME_MINVER"; then + printf "Yes.\n" + have_gmime=1 + gmime_cflags=$(pkg-config --cflags gmime-2.6) + gmime_ldflags=$(pkg-config --libs gmime-2.6) +else + have_gmime=0 printf "No.\n" errors=$((errors + 1)) fi @@ -493,19 +490,11 @@ else fi if [ -z "${EMACSLISPDIR}" ]; then - if pkg-config --exists emacs; then - EMACSLISPDIR=$(pkg-config emacs --variable sitepkglispdir) - else - EMACSLISPDIR='$(prefix)/share/emacs/site-lisp' - fi + EMACSLISPDIR='$(prefix)/share/emacs/site-lisp' fi if [ -z "${EMACSETCDIR}" ]; then - if pkg-config --exists emacs; then - EMACSETCDIR=$(pkg-config emacs --variable sitepkglispdir) - else - EMACSETCDIR='$(prefix)/share/emacs/site-lisp' - fi + EMACSETCDIR='$(prefix)/share/emacs/site-lisp' fi printf "Checking if emacs is available... " @@ -553,7 +542,7 @@ fi libdir_in_ldconfig=0 printf "Checking which platform we are on... " -uname=`uname` +uname=$(uname) if [ $uname = "Darwin" ] ; then printf "Mac OS X.\n" platform=MACOSX @@ -640,7 +629,7 @@ EOF echo fi if [ $have_gmime -eq 0 ]; then - echo " Either GMime 2.4 library" $GMIME_24_VERSION_CTR "or GMime 2.6 library" $GMIME_26_VERSION_CTR + echo " GMime 2.6 library >= $GMIME_MINVER" echo " (including development files such as headers)" echo " http://spruce.sourceforge.net/gmime/" echo @@ -998,6 +987,10 @@ HAVE_STRCASESTR = ${have_strcasestr} # build its own version) HAVE_STRSEP = ${have_strsep} +# Whether the timegm function is available (if not, then notmuch will +# build its own version) +HAVE_TIMEGM = ${have_timegm} + # Whether struct dirent has d_type (if not, then notmuch will use stat) HAVE_D_TYPE = ${have_d_type} @@ -1026,7 +1019,10 @@ LINKER_RESOLVES_LIBRARY_DEPENDENCIES = ${linker_resolves_library_dependencies} XAPIAN_CXXFLAGS = ${xapian_cxxflags} XAPIAN_LDFLAGS = ${xapian_ldflags} -# Flags needed to compile and link against GMime-2.4 +# 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} @@ -1070,6 +1066,7 @@ CONFIGURE_CFLAGS = -DHAVE_GETLINE=\$(HAVE_GETLINE) \$(GMIME_CFLAGS) \\ \$(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) \\ @@ -1083,6 +1080,7 @@ CONFIGURE_CXXFLAGS = -DHAVE_GETLINE=\$(HAVE_GETLINE) \$(GMIME_CFLAGS) \\ \$(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) \\ @@ -1100,6 +1098,9 @@ cat > sh.config <