X-Git-Url: https://git.notmuchmail.org/git?p=notmuch;a=blobdiff_plain;f=configure;h=095a476e55faf256c5847a809f7d542146639a29;hp=c6e0c09a8f8014c9458c9461ae59094c49e56e05;hb=cbcc3454aee63c26864428039ea688c5eb3e6be0;hpb=518c8c0d3f9d845b2e5a87e83382d61b05fc2958 diff --git a/configure b/configure index c6e0c09a..095a476e 100755 --- a/configure +++ b/configure @@ -6,10 +6,19 @@ CC=${CC:-gcc} CXX=${CXX:-g++} CFLAGS=${CFLAGS:--O2} CXXFLAGS=${CXXFLAGS:-\$(CFLAGS)} +XAPIAN_CONFIG=${XAPIAN_CONFIG:-xapian-config-1.1 xapian-config} + +# We don't allow the EMACS or GZIP Makefile variables inherit values +# from the environment as we do with CC and CXX above. The reason is +# that these names as environment variables have existing uses other +# than the program name that we want. (EMACS is set to 't' when a +# shell is running within emacs and GZIP specifies arguments to pass +# on the gzip command line). # Set the defaults for values the user can specify with command-line # options. PREFIX=/usr/local +LIBDIR= usage () { @@ -37,18 +46,43 @@ First, some common variables can specified via environment variables: Each of these values can further be controlled by specifying them later on the "make" command line. +Other environment variables can be used to control configure itself, +(and for which there is no equivalent build-time control): + + XAPIAN_CONFIG The program to use to determine flags for + compiling and linking against the Xapian + library. [$XAPIAN_CONFIG] + Additionally, various options can be specified on the configure command line. --prefix=PREFIX Install files in PREFIX [$PREFIX] By default, "make install" will install the resulting program to -$PREFIX/bin, documentation to $PREFIX/share, etc. You can +$PREFIX/bin, documentation to $PREFIX/man, etc. You can specify an installation prefix other than $PREFIX using --prefix, for instance: ./configure --prefix=\$HOME +Fine tuning of some installation directories is available: + + --libdir=DIR Install libraries to DIR [PREFIX/lib] + --includedir=DIR Install header files to DIR [PREFIX/include] + --mandir=DIR Install man pages to DIR [PREFIX/share/man] + --sysconfdir=DIR Read-only single-machine data [PREFIX/etc] + --emacslispdir=DIR Emacs code [PREFIX/share/emacs/site-lisp] + +Additional options are accepted for compatibility with other +configure-script calling conventions, but don't do anything yet: + + --build=-- Currently ignored + --infodir=DIR Currently ignored + --localstatedir=DIR Currently ignored + --libexecdir=DIR Currently ignored + --disable-maintainer-mode Currently ignored + --disable-dependency-tracking Currently ignored + EOF } @@ -59,6 +93,48 @@ for option; do exit 0 elif [ "${option%%=*}" = '--prefix' ] ; then PREFIX="${option#*=}" + elif [ "${option%%=*}" = '--libdir' ] ; then + LIBDIR="${option#*=}" + elif [ "${option%%=*}" = '--includedir' ] ; then + INCLUDEDIR="${option#*=}" + elif [ "${option%%=*}" = '--mandir' ] ; then + MANDIR="${option#*=}" + elif [ "${option%%=*}" = '--sysconfdir' ] ; then + SYSCONFDIR="${option#*=}" + elif [ "${option%%=*}" = '--emacslispdir' ] ; then + EMACSLISPDIR="${option#*=}" + elif [ "${option%%=*}" = '--build' ] ; then + build_option="${option#*=}" + case ${build_option} in + *-*-*) ;; + *) + echo "Unrecognized value for --build option: ${build_option}" + echo "Should be: --" + echo "See:" + echo " $0 --help" + echo "" + exit 1 + esac + build_cpu=${build_option%%-*} + build_option=${build_option#*-} + build_vendor=${build_option%%-*} + build_os=${build_option#*-} + elif [ "${option%%=*}" = '--infodir' ] ; then + true + elif [ "${option%%=*}" = '--localstatedir' ] ; then + true + elif [ "${option%%=*}" = '--libexecdir' ] ; then + true + elif [ "${option}" = '--disable-maintainer-mode' ] ; then + true + elif [ "${option}" = '--disable-dependency-tracking' ] ; then + true + else + echo "Unrecognized option: ${option}" + echo "See:" + echo " $0 --help" + echo "" + exit 1 fi done @@ -91,26 +167,33 @@ else fi printf "Checking for Xapian development files... " -if xapian-config --version > /dev/null 2>&1; then - printf "Yes.\n" - have_xapian=1 - xapian_cxxflags=$(xapian-config --cxxflags) - xapian_ldflags=$(xapian-config --libs) -else +have_xapian=0 +for xapian_config in ${XAPIAN_CONFIG}; do + if ${xapian_config} --version > /dev/null 2>&1; then + printf "Yes.\n" + have_xapian=1 + xapian_cxxflags=$(${xapian_config} --cxxflags) + xapian_ldflags=$(${xapian_config} --libs) + break + fi +done +if [ ${have_xapian} = "0" ]; then printf "No.\n" - have_xapian=0 errors=$((errors + 1)) fi -printf "Checking for GMime 2.4 development files... " -if pkg-config --modversion gmime-2.4 > /dev/null 2>&1; then - printf "Yes.\n" - have_gmime=1 - gmime_cflags=$(pkg-config --cflags gmime-2.4) - gmime_ldflags=$(pkg-config --libs gmime-2.4) -else +printf "Checking for GMime development files... " +have_gmime=0 +for gmimepc in gmime-2.6 gmime-2.4; do + if pkg-config --modversion $gmimepc > /dev/null 2>&1; then + printf "Yes ($gmimepc).\n" + have_gmime=1 + gmime_cflags=$(pkg-config --cflags $gmimepc) + gmime_ldflags=$(pkg-config --libs $gmimepc) + fi +done +if [ "$have_gmime" = "0" ]; then printf "No.\n" - have_gmime=0 errors=$((errors + 1)) fi @@ -137,10 +220,32 @@ else have_valgrind=0 fi -if pkg-config --modversion emacs > /dev/null 2>&1; then - emacs_lispdir=$(pkg-config emacs --variable sitepkglispdir) +if [ -z "${EMACSLISPDIR}" ]; then + if pkg-config --modversion emacs > /dev/null 2>&1; then + EMACSLISPDIR=$(pkg-config emacs --variable sitepkglispdir) + else + EMACSLISPDIR='$(prefix)/share/emacs/site-lisp' + fi +fi + +printf "Checking if emacs is available... " +if emacs --quick --batch > /dev/null 2>&1; then + printf "Yes.\n" + have_emacs=1 else - emacs_lispdir='$(prefix)/share/emacs/site-lisp' + printf "No (so will not byte-compile emacs code)\n" + have_emacs=0 +fi + +printf "Checking for Mac OS X (for shared library)... " +if [ `uname` = "Darwin" ] ; then + printf "Yes.\n" + mac_os_x=1 + linker_resolves_library_dependencies=0 +else + printf "No.\n" + mac_os_x=0 + linker_resolves_library_dependencies=1 fi if [ $errors -gt 0 ]; then @@ -209,7 +314,7 @@ EOF fi printf "Checking for getline... " -if ${CC} -o config/have_getline config/have_getline.c > /dev/null 2>&1 +if ${CC} -o compat/have_getline compat/have_getline.c > /dev/null 2>&1 then printf "Yes.\n" have_getline=1 @@ -217,7 +322,18 @@ else printf "No (will use our own instead).\n" have_getline=0 fi -rm -f config/have_getline +rm -f compat/have_getline + +printf "Checking for strcasestr... " +if ${CC} -o compat/have_strcasestr compat/have_strcasestr.c > /dev/null 2>&1 +then + printf "Yes.\n" + have_strcasestr=1 +else + printf "No (will use our own instead).\n" + have_strcasestr=0 +fi +rm -f compat/have_strcasestr cat <