X-Git-Url: https://git.notmuchmail.org/git?p=notmuch;a=blobdiff_plain;f=configure;h=440d678c7eb3828041a24577cf7f1e37bf36c2ab;hp=b967a4ed04294d76d855ee509c66337c6f21d00f;hb=005c2f0df17de8afdf9f67b923d26f2358236171;hpb=53035dafe060f6832909ad54e48277c8d3bd2d1b diff --git a/configure b/configure index b967a4ed..440d678c 100755 --- a/configure +++ b/configure @@ -38,7 +38,7 @@ if [ "$srcdir" != "." ]; then cp -a "$srcdir"/test/* test # Emacs only likes to generate compiled files next to the .el files - # by default so copy these as well (which is not ideal0. + # by default so copy these as well (which is not ideal). cp -a "$srcdir"/emacs/*.el emacs fi @@ -65,20 +65,12 @@ PYTHON=${PYTHON:-} # options. PREFIX=/usr/local LIBDIR= +WITH_DOCS=1 WITH_EMACS=1 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 < _libversion.c < +#include "lib/notmuch.h" +int main(void) { + printf("libnotmuch_version_major=%d\n", + LIBNOTMUCH_MAJOR_VERSION); + printf("libnotmuch_version_minor=%d\n", + LIBNOTMUCH_MINOR_VERSION); + printf("libnotmuch_version_release=%d\n", + LIBNOTMUCH_MICRO_VERSION); + return 0; +} +EOF +if ${CC} ${CFLAGS} _libversion.c -o _libversion > /dev/null 2>&1 && \ + ./_libversion > _libversion.sh && . ./_libversion.sh +then + printf "OK.\n" +else + cat < /dev/null 2>&1; then have_pkg_config=1 else @@ -330,30 +361,29 @@ have_xapian_compact=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" ;; + 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 + +# 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... " -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 - fi -done -IFS=$DEFAULT_IFS -if [ "$have_gmime" = "0" ]; then +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 @@ -466,31 +496,37 @@ else have_emacs=0 fi -printf "Checking if doxygen is available... " -if command -v doxygen > /dev/null; then - printf "Yes.\n" - have_doxygen=1 -else - printf "No (so will not install api docs)\n" - have_doxygen=0 +have_doxygen=0 +if [ $WITH_DOCS = "1" ] ; then + printf "Checking if doxygen is available... " + if command -v doxygen > /dev/null; then + printf "Yes.\n" + have_doxygen=1 + else + printf "No (so will not install api docs)\n" + fi fi -printf "Checking for ruby development files... " -if ruby -e "require 'mkmf'"> /dev/null 2>&1; then - printf "Yes.\n" - have_ruby_dev=1 -else - printf "No (skipping ruby bindings)\n" - have_ruby_dev=0 +have_ruby_dev=0 +if [ $WITH_RUBY = "1" ] ; then + printf "Checking for ruby development files... " + if ruby -e "require 'mkmf'"> /dev/null 2>&1; then + printf "Yes.\n" + have_ruby_dev=1 + else + printf "No (skipping ruby bindings)\n" + fi fi -printf "Checking if sphinx is available and supports nroff output... " -if command -v sphinx-build > /dev/null && ${python} -m sphinx.writers.manpage > /dev/null 2>&1 ; then - printf "Yes.\n" - have_sphinx=1 -else - printf "No (so will not install man pages).\n" - have_sphinx=0 +have_sphinx=0 +if [ $WITH_DOCS = "1" ] ; then + printf "Checking if sphinx is available and supports nroff output... " + if command -v sphinx-build > /dev/null && ${python} -m sphinx.writers.manpage > /dev/null 2>&1 ; then + printf "Yes.\n" + have_sphinx=1 + else + printf "No (so will not install man pages).\n" + fi fi libdir_in_ldconfig=0 @@ -583,7 +619,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 @@ -781,7 +817,7 @@ for flag in -Wmissing-declarations; do done printf "\n\t${WARN_CFLAGS}\n" -rm -f minimal minimal.c +rm -f minimal minimal.c _libversion.c _libversion _libversion.sh # construct the Makefile.config cat > Makefile.config <