X-Git-Url: https://git.notmuchmail.org/git?p=notmuch;a=blobdiff_plain;f=configure;h=460fcfcf31178ea4b1ecdf9fc506e692b064747a;hp=8cf6f2d703529d70e0cdb10a174e608a17458405;hb=37be45767fef9348300bb45c82efd474bb01651f;hpb=8bf1842b195e745c127e52e3cefa251ef094dd4d diff --git a/configure b/configure index 8cf6f2d7..460fcfcf 100755 --- a/configure +++ b/configure @@ -1,7 +1,21 @@ #! /bin/sh +# Test whether this shell is capable of parameter substring processing. +( option='a/b'; : ${option#*/} ) 2>/dev/null || { + echo " +The shell interpreting '$0' is lacking some required features. + +To work around this problem you may try to execute: + + ksh $0 $* + or + bash $0 $* +" + exit 1 +} + # Store original IFS value so it can be changed (and restored) in many places. -readonly DEFAULT_IFS=$IFS +readonly DEFAULT_IFS="$IFS" srcdir=$(dirname "$0") @@ -48,8 +62,13 @@ WITH_EMACS=1 WITH_BASH=1 WITH_ZSH=1 -GMIME_24_VERSION='gmime-2.4' -GMIME_26_VERSION='gmime-2.6 >= 2.6.7' +# 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" @@ -109,6 +128,10 @@ Fine tuning of some installation directories is available: --bashcompletiondir=DIR Bash completions files [SYSCONFDIR/bash_completion.d] --zshcompletiondir=DIR Zsh completions files [PREFIX/share/zsh/functions/Completion/Unix] +Some specific library versions can be specified (auto-detected otherwise): + + --with-gmime-version=VERS Specify GMIME version (2.4 or 2.6) + Some features can be disabled (--with-feature=no is equivalent to --without-feature) : @@ -213,7 +236,12 @@ done # Makefile.config file later like most values), because we need to # actually investigate this value compared to the ldconfig_paths value # below. -libdir_expanded=${LIBDIR:-${PREFIX}/lib} +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"` +fi cat <= 2.6.5 to avoid a -# crypto bug. We need 2.6.7 for permissive "From " header handling. printf "Checking for GMime development files... " have_gmime=0 IFS=';' @@ -353,6 +379,14 @@ elif [ $uname = "SunOS" ] ; then printf "Solaris.\n" platform=SOLARIS linker_resolves_library_dependencies=0 +elif [ $uname = "FreeBSD" ] ; then + printf "FreeBSD.\n" + platform=FREEBSD + linker_resolves_library_dependencies=0 +elif [ $uname = "OpenBSD" ] ; then + printf "OpenBSD.\n" + platform=OPENBSD + linker_resolves_library_dependencies=0 elif [ $uname = "Linux" ] || [ $uname = "GNU" ] ; then printf "$uname\n" platform="$uname" @@ -402,26 +436,29 @@ EOF echo " http://xapian.org/" fi if [ $have_gmime -eq 0 ]; then - echo " GMime 2.4 library (including development files such as headers)" + echo " Either GMime 2.4 library" $GMIME_24_VERSION_CTR "or GMime 2.6 library" $GMIME_26_VERSION_CTR + echo " (including development files such as headers)" echo " http://spruce.sourceforge.net/gmime/" + echo fi if [ $have_glib -eq 0 ]; then echo " Glib library >= 2.22 (including development files such as headers)" echo " http://ftp.gnome.org/pub/gnome/sources/glib/" + echo fi if [ $have_talloc -eq 0 ]; then echo " The talloc library (including development files such as headers)" echo " http://talloc.samba.org/" + echo fi cat < /dev/null 2>&1 then WARN_CXXFLAGS="${WARN_CXXFLAGS}${WARN_CXXFLAGS:+ }${flag}" @@ -639,7 +676,7 @@ HAVE_GETLINE = ${have_getline} # build its own version) HAVE_STRCASESTR = ${have_strcasestr} -# Supported platforms (so far) are: LINUX, MACOSX, SOLARIS +# Supported platforms (so far) are: LINUX, MACOSX, SOLARIS, FREEBSD, OPENBSD PLATFORM = ${platform} # Whether the linker will automatically resolve the dependency of one