X-Git-Url: https://git.notmuchmail.org/git?p=notmuch;a=blobdiff_plain;f=configure;h=c58dd0fd471b98f7ebd716ae583e896f665db552;hp=7e8cd163f950eb8f42656a363fe764b8c71aa670;hb=e2a550b968010e0bb7b5d519ef33409f0cf2f28d;hpb=9d9668e3e7b0e4ed5e054125841dd729a46abd79 diff --git a/configure b/configure index 7e8cd163..c58dd0fd 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 @@ -220,7 +220,7 @@ fi 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 + if pkg-config --exists $gmimepc; then printf "Yes ($gmimepc).\n" have_gmime=1 gmime_cflags=$(pkg-config --cflags $gmimepc) @@ -232,8 +232,22 @@ if [ "$have_gmime" = "0" ]; then errors=$((errors + 1)) fi +# GMime already depends on Glib >= 2.12, but we use at least one Glib +# function that only exists as of 2.14, (g_hash_table_get_keys) +printf "Checking for Glib development files (>= 2.14)... " +have_glib=0 +if pkg-config --exists 'glib-2.0 >= 2.14'; then + printf "Yes.\n" + have_glib=1 + glib_cflags=$(pkg-config --cflags glib-2.0) + glib_ldflags=$(pkg-config --libs glib-2.0) +else + printf "No.\n" + errors=$((errors + 1)) +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) @@ -246,7 +260,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) @@ -256,7 +270,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' @@ -290,7 +304,6 @@ elif [ $uname = "Linux" ] ; then 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 - echo "Checking $path compared to $libdir_expanded" if [ "$path" = "$libdir_expanded" ]; then libdir_in_ldconfig=1 fi @@ -320,6 +333,10 @@ EOF echo " GMime 2.4 library (including development files such as headers)" echo " http://spruce.sourceforge.net/gmime/" fi + if [ $have_glib -eq 0 ]; then + echo " Glib library >= 2.14 (including development files such as headers)" + echo " http://ftp.gnome.org/pub/gnome/sources/glib/" + fi if [ $have_talloc -eq 0 ]; then echo " The talloc library (including development files such as headers)" echo " http://talloc.samba.org/" @@ -391,6 +408,50 @@ else fi rm -f compat/have_strcasestr +printf "int main(void){return 0;}\n" > 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 <