#! /bin/sh # Set several defaults (optionally specified by the user in # environemnt variables) 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 () { cat <-- 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 } # Parse command-line options for option; do if [ "${option}" = '--help' ] ; then usage 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 cat < /dev/null 2>&1; then have_pkg_config=1 else have_pkg_config=0 fi printf "Checking for Xapian development files... " 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" 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 "No.\n" have_gmime=0 errors=$((errors + 1)) fi printf "Checking for talloc development files... " if pkg-config --modversion talloc > /dev/null 2>&1; then printf "Yes.\n" have_talloc=1 talloc_cflags=$(pkg-config --cflags talloc) talloc_ldflags=$(pkg-config --libs talloc) else printf "No.\n" have_talloc=0 talloc_cflags= errors=$((errors + 1)) fi printf "Checking for valgrind development files... " if pkg-config --modversion valgrind > /dev/null 2>&1; then printf "Yes.\n" have_valgrind=1 valgrind_cflags=$(pkg-config --cflags valgrind) else printf "No (but that's fine).\n" have_valgrind=0 fi 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 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 else printf "No.\n" mac_os_x=0 fi if [ $errors -gt 0 ]; then cat < /dev/null 2>&1 then printf "Yes.\n" have_getline=1 else printf "No (will use our own instead).\n" have_getline=0 fi 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 < Makefile.config <