X-Git-Url: https://git.notmuchmail.org/git?a=blobdiff_plain;f=configure;h=fba075dd0e8a16371ba7c0e42cb2915b5dbeaeea;hb=8df28ec509104773654c2bdd2f208ecb167d5a80;hp=07bac08b8377d575b4a5ba7dbf0068b59e1ce7e7;hpb=b3076ed2693c6e32fd70a9ec78e36bc71727356e;p=notmuch diff --git a/configure b/configure index 07bac08b..fba075dd 100755 --- a/configure +++ b/configure @@ -15,7 +15,7 @@ CXX=${CXX:-g++} CFLAGS=${CFLAGS:--O2} CXXFLAGS=${CXXFLAGS:-\$(CFLAGS)} LDFLAGS=${LDFLAGS:-} -XAPIAN_CONFIG=${XAPIAN_CONFIG:-xapian-config-1.1${tab}xapian-config} +XAPIAN_CONFIG=${XAPIAN_CONFIG:-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 @@ -167,6 +167,12 @@ for option; do fi done +# We set this value early, (rather than just while printing the +# 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} + cat < /dev/null 2>&1; then + if pkg-config --exists $gmimepc; then printf "Yes ($gmimepc).\n" have_gmime=1 gmime_cflags=$(pkg-config --cflags $gmimepc) @@ -227,7 +233,7 @@ if [ "$have_gmime" = "0" ]; then fi printf "Checking for talloc development files... " -if pkg-config --modversion talloc > /dev/null 2>&1; then +if pkg-config --exists talloc; then printf "Yes.\n" have_talloc=1 talloc_cflags=$(pkg-config --cflags talloc) @@ -240,7 +246,7 @@ else fi printf "Checking for valgrind development files... " -if pkg-config --modversion valgrind > /dev/null 2>&1; then +if pkg-config --exists valgrind; then printf "Yes.\n" have_valgrind=1 valgrind_cflags=$(pkg-config --cflags valgrind) @@ -250,7 +256,7 @@ else fi if [ -z "${EMACSLISPDIR}" ]; then - if pkg-config --modversion emacs > /dev/null 2>&1; then + if pkg-config --exists emacs; then EMACSLISPDIR=$(pkg-config emacs --variable sitepkglispdir) else EMACSLISPDIR='$(prefix)/share/emacs/site-lisp' @@ -266,19 +272,28 @@ else have_emacs=0 fi +libdir_in_ldconfig=0 + printf "Checking which platform we are on... " -if [ `uname` = "Darwin" ] ; then +uname=`uname` +if [ $uname = "Darwin" ] ; then printf "Mac OS X.\n" platform=MACOSX linker_resolves_library_dependencies=0 -elif [ `uname` = "SunOS" ] ; then +elif [ $uname = "SunOS" ] ; then printf "Solaris.\n" platform=SOLARIS linker_resolves_library_dependencies=0 -elif [ `uname` = "Linux" ] ; then +elif [ $uname = "Linux" ] ; then printf "Linux\n" platform=LINUX linker_resolves_library_dependencies=1 + ldconfig_paths=$(/sbin/ldconfig -N -X -v 2>/dev/null | sed -n -e 's,^\(/.*\):\( (.*)\)\?$,\1,p') + for path in $ldconfig_paths; do + if [ "$path" = "$libdir_expanded" ]; then + libdir_in_ldconfig=1 + fi + done else printf "Unknown.\n" cat < minimal.c + +printf "Checking for rpath support... " +if ${CC} -Wl,--enable-new-dtags -Wl,-rpath,/tmp/ -o minimal minimal.c >/dev/null 2>&1 +then + printf "Yes.\n" + rpath_ldflags="-Wl,--enable-new-dtags -Wl,-rpath,\$(libdir)" +else + printf "No (nothing to worry about).\n" + rpath_ldflags="" +fi + +printf "Checking for -Wl,--as-needed... " +if ${CC} -Wl,--as-needed -o minimal minimal.c >/dev/null 2>&1 +then + printf "Yes.\n" + as_needed_ldflags="-Wl,--as-needed" +else + printf "No (nothing to worry about).\n" + as_needed_ldflags="" +fi + +WARN_CXXFLAGS="" +printf "Checking for available C++ compiler warning flags... " +for flag in -Wall -Wextra -Wwrite-strings -Wswitch-enum; do + if ${CC} $flag -o minimal minimal.c > /dev/null 2>&1 + then + WARN_CXXFLAGS="${WARN_CXXFLAGS}${WARN_CXXFLAGS:+ }${flag}" + fi +done +printf "\n\t${WARN_CXXFLAGS}\n" + +WARN_CFLAGS="${WARN_CXXFLAGS}" +printf "Checking for available C compiler warning flags... " +for flag in -Wmissing-declarations; do + if ${CC} $flag -o minimal minimal.c > /dev/null 2>&1 + then + WARN_CFLAGS="${WARN_CFLAGS}${WARN_CFLAGS:+ }${flag}" + fi +done +printf "\n\t${WARN_CFLAGS}\n" + +rm -f minimal minimal.c + cat <