X-Git-Url: https://git.notmuchmail.org/git?p=notmuch;a=blobdiff_plain;f=configure;h=acb90a8c610efdf24c5d472e6a2d1852b71dc391;hp=3df2dc97fb5a903e5d5dd5100dbb88532c4cab16;hb=df6f3cdf9d421011090ccb50af9828f5903544ee;hpb=1984a266469f4fda2de96ba93100ec38e82e3728 diff --git a/configure b/configure index 3df2dc97..acb90a8c 100755 --- a/configure +++ b/configure @@ -1,5 +1,22 @@ #! /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" + srcdir=$(dirname "$0") # For a non-srcdir configure invocation (such as ../configure), create @@ -45,6 +62,16 @@ WITH_EMACS=1 WITH_BASH=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 <= 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 -for gmimepc in 'gmime-2.6 >= 2.6.7' gmime-2.4; do +IFS=';' +for gmimepc in $WITH_GMIME_VERSIONS; do if pkg-config --exists $gmimepc; then printf "Yes ($gmimepc).\n" have_gmime=1 @@ -258,6 +294,7 @@ for gmimepc in 'gmime-2.6 >= 2.6.7' gmime-2.4; do break fi done +IFS=$DEFAULT_IFS if [ "$have_gmime" = "0" ]; then printf "No.\n" errors=$((errors + 1)) @@ -337,6 +374,10 @@ 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 = "Linux" ] || [ $uname = "GNU" ] ; then printf "$uname\n" platform="$uname" @@ -351,7 +392,6 @@ elif [ $uname = "Linux" ] || [ $uname = "GNU" ] ; then # IFS=$(printf '\n') # # because the shell's command substitution deletes any trailing newlines. - OLD_IFS=$IFS IFS=" " for path in $ldconfig_paths; do @@ -359,7 +399,7 @@ elif [ $uname = "Linux" ] || [ $uname = "GNU" ] ; then libdir_in_ldconfig=1 fi done - IFS=$OLD_IFS + IFS=$DEFAULT_IFS if [ "$libdir_in_ldconfig" = '0' ]; then printf "No (will set RPATH)\n" else @@ -387,26 +427,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 <