fix configure script to avoid polluting LDFLAGS/LIBS/LDADD/...
[apps/madmutt.git] / configure.ac
index a461d13..2c54741 100644 (file)
@@ -6,9 +6,7 @@ dnl !!! TO DUMP THEIR RESULTS WHEN MUTT -V IS CALLED            !!!
 AC_PREREQ([2.50])
 AC_INIT([mutt.h])
 AM_CONFIG_HEADER(config.h)
-AM_INIT_AUTOMAKE(madmutt, `cat "$srcdir/VERSION.in"`)
-
-AC_SUBST([CONFIGURE_DEPENDENCIES], ['$(top_srcdir)/VERSION.in'])
+AM_INIT_AUTOMAKE(madmutt, devel)
 
 AC_GNU_SOURCE
 
@@ -65,7 +63,7 @@ AC_DEFINE_UNQUOTED(SENDMAIL,"$ac_cv_path_SENDMAIL",[ Where to find sendmail on y
 dnl ---------------- lua5.1 ----------------
 PKG_CHECK_MODULES(LUA,lua5.1,[
     CPPFLAGS="$CPPFLAGS $LUA_CFLAGS"
-    LDFLAGS="$LDFLAGS $LUA_LIBS"
+    MUTTLIBS="$MUTTLIBS $LUA_LIBS"
 ],[AC_MSG_ERROR([could not find lua5.1])])
 
 dnl ---------------- gpgme ----------------
@@ -104,7 +102,7 @@ main ()
             if test -d $srcdir/../slang; then
                 mutt_cv_slang=$srcdir/../slang/src
                 CFLAGS="$CFLAGS -I${mutt_cv_slang}"
-                LDFLAGS="$LDFLAGS -L${mutt_cv_slang}/objs"
+                MUTTLIBS="$MUTTLIBS -L${mutt_cv_slang}/objs"
             else
                 if test -d ${prefix}/include/slang; then
                     CFLAGS="$CFLAGS -I${prefix}/include/slang"
@@ -118,7 +116,7 @@ main ()
             if test -f $withval/src/slang.h; then
                 mutt_cv_slang=$withval/src
                 CFLAGS="$CFLAGS -I${mutt_cv_slang}"
-                LDFLAGS="$LDFLAGS -L${mutt_cv_slang}/objs"
+                MUTTLIBS="$MUTTLIBS -L${mutt_cv_slang}/objs"
             else
                 dnl ---Must be installed somewhere
                 mutt_cv_slang=$withval
@@ -127,7 +125,7 @@ main ()
                 elif test -d $withval/include; then
                         CFLAGS="$CFLAGS -I${withval}/include"
                 fi
-                LDFLAGS="$LDFLAGS -L${withval}/lib"
+                MUTTLIBS="$MUTTLIBS -L${withval}/lib"
             fi
         fi
         AC_MSG_RESULT($mutt_cv_slang)
@@ -148,7 +146,7 @@ main ()
                 mutt_cv_curses=$withval
             fi
             if test x$mutt_cv_curses != x/usr; then
-                LDFLAGS="-L${mutt_cv_curses}/lib $LDFLAGS"
+                MUTTLIBS="-L${mutt_cv_curses}/lib $MUTTLIBS"
                 CPPFLAGS="$CPPFLAGS -I${mutt_cv_curses}/include"
             fi
         ])
@@ -174,14 +172,13 @@ main ()
             [CF_CURSES_LIBS])
         ])
 
-        old_LIBS="$LIBS"
-        LIBS="$LIBS $MUTTLIBS"
+        LIBS="$MUTTLIBS"
         CF_CHECK_FUNCDECLS([#include <${cf_cv_ncurses_header-curses.h}>],
                            [start_color typeahead bkgdset curs_set meta use_default_colors resizeterm])
         if test "$ac_cv_func_decl_start_color" != yes; then
             AC_MSG_ERROR([Your curses library does not supports color.])
         fi
-        LIBS="$old_LIBS"
+        LIBS=""
     ])
 
 AC_CHECK_HEADERS(stdarg.h sys/ioctl.h ioctl.h sysexits.h)
@@ -334,77 +331,14 @@ AC_CHECK_FUNCS(getaddrinfo)
 
 dnl -- imap dependencies --
 
-AC_ARG_WITH(gss, AC_HELP_STRING([--with-gss], [Compile in GSSAPI authentication for IMAP]),[
-    if test x$with_gss != xno; then
-        PKG_CHECK_MODULES(GSSAPI,libgssapi,[
-            CPPFLAGS="$CPPFLAGS $GSSAPI_CFLAGS"
-            MUTTLIBS="$MUTTLIBS $GSSAPI_LIBS"
-            AC_DEFINE(USE_GSS,1,[ Define if you have GSSAPI libraries available ])
-            AC_CHECK_HEADERS(xom.h)
-        ],[
-           AC_MSG_ERROR([could not find libgssapi])
-        ])
-    fi
+AM_PATH_LIBGNUTLS(,[
+    CPPFLAGS="$CPPFLAGS $LIBGNUTLS_CFLAGS"
+    MUTTLIBS="$MUTTLIBS $LIBGNUTLS_LIBS"],[AC_MSG_ERROR([could not find libgnutls])
 ])
 
-AC_ARG_WITH(ssl, AC_HELP_STRING([--with-ssl[=PFX]], [Compile in SSL support for POP/IMAP]),
-[   if test "$with_ssl" != "no"; then
-        if test "$with_ssl" != "yes"; then
-            LDFLAGS="$LDFLAGS -L$withval/lib"
-            CPPFLAGS="$CPPFLAGS -I$withval/include"
-        fi
-        saved_LIBS="$LIBS"
-
-        AC_CHECK_LIB(crypto, X509_new,, AC_MSG_ERROR([Unable to find SSL library]))
-        AC_CHECK_LIB(ssl, SSL_new,, AC_MSG_ERROR([Unable to find SSL library]), -lcrypto)
-
-        AC_CHECK_FUNCS(RAND_status RAND_egd)
-
-        AC_DEFINE(USE_SSL,1,[ Define if you want support for SSL. ])
-        LIBS="$saved_LIBS"
-        MUTTLIBS="$MUTTLIBS -lssl -lcrypto"
-        need_ssl=yes
-    fi
-])
-
-AC_ARG_WITH([gnutls], AC_HELP_STRING([--with-gnutls], [Enable SSL support using gnutls]),
-            [gnutls_prefix="$withval"], [gnutls_prefix="no"])
-if test "$gnutls_prefix" != "no"; then
-    if test x"$need_ssl" = x"yes"; then
-        AC_MSG_ERROR([Only either OpenSSL or GNUTLS may be used])
-    fi
-    AM_PATH_LIBGNUTLS(,[
-        CPPFLAGS="$CPPFLAGS $LIBGNUTLS_CFLAGS"
-        MUTTLIBS="$MUTTLIBS $LIBGNUTLS_LIBS"
-        AC_DEFINE(USE_GNUTLS, 1, [Define if you want support for SSL via the gnutls library.])
-        need_ssl=yes],
-        [AC_MSG_ERROR([could not find libgnutls])
-    ])
-fi
-AM_CONDITIONAL(USE_SSL, test x$need_ssl = xyes)
-AC_SUBST(MUTT_SSL_OBJECTS)
-
-AC_ARG_WITH(sasl2, AC_HELP_STRING([--with-sasl2[=PFX]],
-            [Use Cyrus SASL library version 2 for POP/IMAP authentication]),[
-    if test "$with_sasl2" != "no"; then
-        if test "$with_sasl2" != "yes"; then
-            CPPFLAGS="$CPPFLAGS -I$with_sasl2/include"
-            LDFLAGS="$LDFLAGS -L$with_sasl2/lib"
-        fi
-
-        saved_LIBS="$LIBS"
-
-        AC_CHECK_LIB(sasl2, sasl_client_init,,AC_MSG_ERROR([could not find libsasl2]))
-
-        MUTT_LIB_OBJECTS="$MUTT_LIB_OBJECTS mutt_sasl.o"
-        MUTTLIBS="$MUTTLIBS -lsasl2"
-        LIBS="$saved_LIBS"
-        AC_DEFINE(USE_SASL,1,
-                  [Define if want to use version 2 of the Cyrus SASL library.])
-        need_sasl=yes
-    fi
-])
-AM_CONDITIONAL(USE_SASL, test x$need_sasl = xyes)
+AC_CHECK_LIB(sasl2, sasl_client_init,,AC_MSG_ERROR([could not find libsasl2]))
+MUTTLIBS="$MUTTLIBS $LIBS"
+LIBS=""
 
 AC_ARG_WITH(idn, AC_HELP_STRING([--with-idn], [Use GNU libidn for domain names]),[
     if test x$with_idn != xno ; then
@@ -413,7 +347,8 @@ AC_ARG_WITH(idn, AC_HELP_STRING([--with-idn], [Use GNU libidn for domain names])
                 AC_MSG_ERROR([libidn is too old, want 0.6 at least])
             fi
             CPPFLAGS="$CPPFLAGS $IDN_CFLAGS"
-            LDFLAGS="$LDFLAGS $IDN_LIBS"
+            MUTTLIBS="$MUTTLIBS $IDN_LIBS"
+            AC_DEFINE(HAVE_LIBIDN, 1, [IDN Support])
         ],[AC_MSG_ERROR([could not find libidn])])
     fi
 ])
@@ -446,10 +381,7 @@ dnl -- start cache --
 AC_ARG_ENABLE(hcache, AC_HELP_STRING([--enable-hcache], [Enable header caching]),
 [if test x$enableval = xyes; then
     AC_DEFINE(USE_HCACHE, 1, [Enable header caching])
-
     OLDCPPFLAGS="$CPPFLAGS"
-    OLDLIBS="$LIBS"
-
     need_md5="yes"
 
     ac_prefer_qdbm=yes
@@ -471,7 +403,7 @@ AC_ARG_ENABLE(hcache, AC_HELP_STRING([--enable-hcache], [Enable header caching])
             GDBM_INC="-I$d/include"
             GDBM_LIB="-L$d/lib"
             CPPFLAGS="$OLDCPPFLAGS $GDBM_INC"
-            LIBS="$OLDLIBS $GDBM_LIB -lgdbm"
+            LIBS="$MUTTLIBS $GDBM_LIB -lgdbm"
             AC_TRY_LINK([#include <gdbm.h>],[gdbm_open(0,0,0,0,0);],[ac_cv_gdbmopen=yes])
           fi
         done
@@ -505,7 +437,7 @@ AC_ARG_ENABLE(hcache, AC_HELP_STRING([--enable-hcache], [Enable header caching])
                         BDB_LIB_DIR="$d/lib/$v"
                         for l in `echo $BDB_VERSIONS`; do
                             CPPFLAGS="-I$BDB_INCLUDE_DIR $OLDCPPFLAGS"
-                            LIBS="$OLDLIBS -L$BDB_LIB_DIR -l$l"
+                            LIBS="$MUTTLIBS -L$BDB_LIB_DIR -l$l"
                             AC_TRY_LINK([
                                 #include <stdlib.h>
                                 #include <db.h>
@@ -533,24 +465,24 @@ AC_ARG_ENABLE(hcache, AC_HELP_STRING([--enable-hcache], [Enable header caching])
 
     if test x$ac_qdbm_here = xyes; then
         CPPFLAGS="$OLDCPPFLAGS $QDBM_CFLAGS"
-        LIBS="$OLDLIBS $QDBM_LIBS"
+        MUTTLIBS="$MUTTLIBS $QDBM_LIBS"
         AC_DEFINE(HAVE_QDBM, 1, [QDBM Support])
     elif test x$ac_cv_gdbmopen = xyes; then
         CPPFLAGS="$OLDCPPFLAGS $GDBM_INC"
-        LIBS="$OLDLIBS $GDBM_LIB -lgdbm";
+        MUTTLIBS="$MUTTLIBS $GDBM_LIB -lgdbm";
         AC_DEFINE(HAVE_GDBM, 1, [GDBM Support])
     elif test x$ac_cv_dbcreate = xyes; then
         CPPFLAGS="-I$BDB_INCLUDE_DIR $OLDCPPFLAGS"
-        LIBS="$OLDLIBS -L$BDB_LIB_DIR -l$BDB_LIB"
+        MUTTLIBS="$MUTTLIBS -L$BDB_LIB_DIR -l$BDB_LIB"
         AC_DEFINE(HAVE_DB4, 1, [Sleepycat DB4 Support])
     else
         AC_MSG_ERROR([You need one of: QDBM, GDBM or Sleepycat DB4 for --enable-hcache])
     fi
+    LIBS=""
 fi])
 dnl -- end cache --
 
 AC_SUBST(MUTTLIBS)
-AC_SUBST(MUTT_LIB_OBJECTS)
 AC_SUBST(LIBNNTP)
 AC_SUBST(LIBNNTPDEPS)
 
@@ -580,8 +512,7 @@ else
     dnl (2) In glibc-2.1.2 and earlier there is a bug that messes up ob and
     dnl     obl when args 2 and 3 are 0 (fixed in glibc-2.1.3).
     AC_CACHE_CHECK([whether this iconv is good enough], mutt_cv_iconv_good,
-                   mutt_save_LIBS="$LIBS"
-                   LIBS="$LIBS $LIBICONV"
+                   LIBS="$LIBICONV"
                    AC_TRY_RUN([
 #include <iconv.h>
 int main()
@@ -602,7 +533,7 @@ changequote([, ])dnl
                    mutt_cv_iconv_good=yes,
                    mutt_cv_iconv_good=no,
                    mutt_cv_iconv_good=yes)
-                   LIBS="$mutt_save_LIBS")
+                   LIBS="")
     if test "$mutt_cv_iconv_good" = no; then
         AC_MSG_ERROR(Try using libiconv instead)
     fi
@@ -643,7 +574,6 @@ if test x$use_libesmtp = xyes; then
     CFLAGS="$CFLAGS $mutt_libesmtp_cflags"
     dnl HACK MUTTLIBS="$MUTTLIBS $mutt_libesmtp_libs"
     MUTTLIBS="$MUTTLIBS -lesmtp"
-    MUTT_LIB_OBJECTS="$MUTT_LIB_OBJECTS mutt_libesmtp.o"
     AC_DEFINE(USE_LIBESMTP, 1, [Define to enable the use of libesmtp])
 fi
 dnl -- end libesmtp --
@@ -735,12 +665,10 @@ AM_CONDITIONAL(BUILD_DOCUMENTATION, test "${DOXYGEN}" != "no")
 AM_CONDITIONAL(USE_LATEX, test "${LATEX}" != "no")
 
 AC_OUTPUT(Makefile
-          Madmuttrc.head
           intl/Makefile
           m4/Makefile
           po/Makefile.in
           apidoc/Makefile apidoc/doxygen.cfg
-          doc/Makefile doc/instdoc.sh
           lib-lib/Makefile
           lib-lua/Makefile
           lib-mime/Makefile