dnl !!! WHEN ADDING NEW CONFIGURE TESTS, PLEASE ADD CODE TO MAIN.C !!!
dnl !!! TO DUMP THEIR RESULTS WHEN MUTT -V IS CALLED !!!
-AC_PREREQ(2.12)
-AC_INIT(mutt.h)
+AC_PREREQ([2.50])
+AC_INIT([mutt.h])
AM_CONFIG_HEADER(config.h)
mutt_cv_version=`cat $srcdir/VERSION`
-
AM_INIT_AUTOMAKE(muttng, $mutt_cv_version)
+dnl AC_GNU_SOURCE
ifdef([AC_LIBOBJ], , [define([AC_LIBOBJ], [LIB[]OBJS="$LIBOBJS $1.o"])])
AC_CANONICAL_HOST
-AC_MSG_CHECKING(for prefix)
+AC_MSG_CHECKING([for prefix])
if test x$prefix = xNONE; then
mutt_cv_prefix=$ac_default_prefix
else
AC_C_INLINE
AC_C_CONST
+AC_SYS_LARGEFILE
+
AC_PATH_PROG(DBX, dbx, no)
AC_PATH_PROG(GDB, gdb, no)
AC_PATH_PROG(SDB, sdb, no)
DEBUGGER=no
fi
-AC_SUBST(DEBUGGER)
-
-# The following templates should be used with newer automakes
-# instead of acconfig.h
-#
-#AH_TEMPLATE([sig_atomic_t],
-# [/* Define to `int' if <signal.h> doesn't define.])
-#AH_TEMPLATE([HAVE_START_COLOR],
-# [Define if you have start_color, as a function or macro.])
-#AH_TEMPLATE([HAVE_TYPEAHEAD],
-# [Define if you have typeahead, as a function or macro.])
-#AH_TEMPLATE([HAVE_BKGDSET],
-# [Define if you have bkgdset, as a function or macro.])
-#AH_TEMPLATE([HAVE_CURS_SET],
-# [Define if you have curs_set, as a function or macro.])
-#AH_TEMPLATE([HAVE_META],
-# [Define if you have meta, as a function or macro.])
-#AH_TEMPLATE([HAVE_USE_DEFAULT_COLORS],
-# [Define if you have use_default_colors, as a function or macro.])
-#AH_TEMPLATE([HAVE_RESIZETERM],
-# [Define if you have resizeterm, as a function or macro.])
-#AH_TEMPLATE([SIG_ATOMIC_VOLATILE_T],
-# [Some systems declare sig_atomic_t as volatile, some others -- no.
-# This define will have value `sig_atomic_t' or
-# `volatile sig_atomic_t' accordingly.])
-#AH_TEMPLATE([ICONV_NONTRANS],
-# [Define as 1 if iconv() only converts exactly and we should treat
-# all return values other than (size_t)(-1) as equivalent.])
-
+AC_SUBST([DEBUGGER])
+
+AH_TEMPLATE([sig_atomic_t],
+ [/* Define to `int' if <signal.h> doesn't define.])
+AH_TEMPLATE([HAVE_START_COLOR],
+ [Define if you have start_color, as a function or macro.])
+AH_TEMPLATE([HAVE_TYPEAHEAD],
+ [Define if you have typeahead, as a function or macro.])
+AH_TEMPLATE([HAVE_BKGDSET],
+ [Define if you have bkgdset, as a function or macro.])
+AH_TEMPLATE([HAVE_CURS_SET],
+ [Define if you have curs_set, as a function or macro.])
+AH_TEMPLATE([HAVE_META],
+ [Define if you have meta, as a function or macro.])
+AH_TEMPLATE([HAVE_USE_DEFAULT_COLORS],
+ [Define if you have use_default_colors, as a function or macro.])
+AH_TEMPLATE([HAVE_RESIZETERM],
+ [Define if you have resizeterm, as a function or macro.])
+AH_TEMPLATE([SIG_ATOMIC_VOLATILE_T],
+ [Some systems declare sig_atomic_t as volatile, some others -- no.
+ This define will have value `sig_atomic_t' or
+ `volatile sig_atomic_t' accordingly.])
+AH_TEMPLATE([ICONV_NONTRANS],
+ [Define as 1 if iconv() only converts exactly and we should treat
+ all return values other than (size_t)(-1) as equivalent.])
+
+MUTT_C99_INTTYPES
ac_aux_path_sendmail=/usr/sbin:/usr/lib
AC_PATH_PROG(SENDMAIL, sendmail, /usr/sbin/sendmail, $PATH:$ac_aux_path_sendmail)
else
SUBVERSION="i"
+ AC_ARG_ENABLE(gpgme, [ --enable-gpgme Enable GPGME support],
+ [ if test x$enableval = xyes; then
+ have_gpgme=yes
+ fi
+ ])
+ AC_ARG_WITH(gpgme-prefix, [ --with-gpgme-prefix=PFX prefix where GPGME is installed (optional)],
+ gpgme_config_prefix="$withval", gpgme_config_prefix="")
+
+ if test x$have_gpgme = xyes; then
+ if test x$gpgme_config_prefix != x; then
+ GPGME_CONFIG="$gpgme_config_prefix/bin/gpgme-config"
+ else
+ AC_PATH_PROG(GPGME_CONFIG, gpgme-config, no)
+ fi
+ if test "x$GPGME_CONFIG" = "xno"; then
+ AC_MSG_ERROR([GPGME not found])
+ else
+ LIBGPGME_CFLAGS=`$GPGME_CONFIG --cflags`
+ LIBGPGME_LIBS=`$GPGME_CONFIG --libs`
+ MUTT_LIB_OBJECTS="$MUTT_LIB_OBJECTS crypt-gpgme.o crypt-mod-pgp-gpgme.o crypt-mod-smime-gpgme.o"
+ AC_DEFINE(CRYPT_BACKEND_GPGME, 1,
+ [Defined, if GPGME support is enabled])
+ fi
+ fi
+ AC_SUBST(LIBGPGME_CFLAGS)
+ AC_SUBST(LIBGPGME_LIBS)
+
AC_ARG_ENABLE(pgp, [ --disable-pgp Disable PGP support],
[ if test x$enableval = xno ; then
have_pgp=no
AC_DEFINE(CRYPT_BACKEND_CLASSIC_PGP,1,
[ Define if you want classic PGP support. ])
PGPAUX_TARGET="pgpring pgpewrap"
- MUTT_LIB_OBJECTS="$MUTT_LIB_OBJECTS pgp.o pgpinvoke.o pgpkey.o pgplib.o gnupgparse.o pgpmicalg.o pgppacket.o"
+ MUTT_LIB_OBJECTS="$MUTT_LIB_OBJECTS pgp.o pgpinvoke.o pgpkey.o pgplib.o gnupgparse.o pgpmicalg.o pgppacket.o crypt-mod-pgp-classic.o"
fi
AC_ARG_ENABLE(smime, [ --disable-smime Disable SMIME support],
if test x$have_smime != xno ; then
AC_DEFINE(CRYPT_BACKEND_CLASSIC_SMIME,1,
[ Define if you want clasic S/MIME support. ])
- MUTT_LIB_OBJECTS="$MUTT_LIB_OBJECTS smime.o "
+ MUTT_LIB_OBJECTS="$MUTT_LIB_OBJECTS smime.o crypt-mod-smime-classic.o"
SMIMEAUX_TARGET="smime_keys"
fi
fi
# We now require all OPS
OPS="$OPS \$(srcdir)/OPS.PGP \$(srcdir)/OPS.SMIME \$(srcdir)/OPS.CRYPT "
-AC_SUBST(OPS)
+AC_SUBST([OPS])
AC_SUBST(PGPAUX_TARGET)
AC_SUBST(SMIMEAUX_TARGET)
AC_DEFINE_UNQUOTED(SUBVERSION,"$SUBVERSION",[ Is this the international version? ])
-AC_SUBST(SUBVERSION)
+AC_SUBST([SUBVERSION])
AC_PATH_PROG(ISPELL, ispell, no)
if test $ISPELL != no; then
AC_DECL_SYS_SIGLIST
-dnl For MD5 and SHA1 on 64-bit systems
-AC_C_BIGENDIAN
-AC_CHECK_HEADERS(inttypes.h stdint.h)
-dnl This is the method autoconf-2.50's new AC_CHECK_TYPE macro uses.
-dnl We need to be backwards compatible to autoconf 2.13, though. -lh
-AC_MSG_CHECKING(for uint32_t)
-AC_TRY_COMPILE([
-#include <sys/types.h>
-#if HAVE_INTTYPES_H
-#include <inttypes.h>
-#else
-#if HAVE_STDINT_H
-#include <stdint.h>
-#endif
-#endif],
-[if ((uint32_t *) 0)
- return 0;
-if (sizeof (uint32_t))
- return 0;
-],[
- AC_DEFINE(HAVE_UINT32_T,1,[ Define if you have the uint32_t type. ])
- AC_MSG_RESULT(yes)
- ], AC_MSG_RESULT(no)
-)
-AC_CHECK_SIZEOF(int)
-AC_CHECK_SIZEOF(long)
-
AC_TYPE_PID_T
+dnl AC_CHECK_TYPE(ssize_t, int)
AC_CHECK_FUNCS(fgetpos memmove setegid srand48 strerror)
|| test "x$mutt_cv_external_dotlock" = "xyes"
then
AC_DEFINE(DL_STANDALONE,1,[ Define if you want to use an external dotlocking program. ])
- DOTLOCK_TARGET="mutt_dotlock"
+ DOTLOCK_TARGET="muttng_dotlock"
else
MUTT_LIB_OBJECTS="$MUTT_LIB_OBJECTS dotlock.o"
fi
AC_MSG_CHECKING(where to put the documentation)
AC_ARG_WITH(docdir, [ --with-docdir=PATH Specify where to put the documentation],
[mutt_cv_docdir=$withval],
- [mutt_cv_docdir="$mutt_cv_prefix/doc/mutt"])
+ [mutt_cv_docdir="$mutt_cv_prefix/doc/muttng"])
AC_MSG_RESULT($mutt_cv_docdir)
docdir=$mutt_cv_docdir
AC_DEFINE(USE_POP,1,[ Define if you want support for the POP3 protocol. ])
MUTT_LIB_OBJECTS="$MUTT_LIB_OBJECTS pop.o pop_lib.o pop_auth.o"
need_socket="yes"
+ need_pop="yes"
need_md5="yes"
fi
])
dnl -- imap dependencies --
-AC_ARG_WITH(gss, [ --with-gss[=PFX] Compile in GSSAPI authentication for IMAP],
+AC_ARG_WITH(gss, [ --with-gss[=PFX] Compile in GSSAPI authentication for IMAP],
gss_prefix="$withval", gss_prefix="no")
if test "$gss_prefix" != "no"
then
fi
])
+AC_ARG_WITH([gnutls], [ --with-gnutls[=PFX] Enable SSL support using gnutls],
+ [gnutls_prefix="$withval"], [gnutls_prefix="no"])
+if test "$gnutls_prefix" != "no"
+then
+ if test "$need_socket" != "yes"
+ then
+ AC_MSG_ERROR([SSL support is only useful with POP or IMAP support])
+ fi
+ MUTT_AM_PATH_GNUTLS([$gnutls_prefix],
+ [dnl GNUTLS found
+ CPPFLAGS="$CPPFLAGS $LIBGNUTLS_CFLAGS"
+ MUTTLIBS="$MUTTLIBS $LIBGNUTLS_LIBS"
+ AC_DEFINE(USE_GNUTLS, 1, [Define if you want support for SSL via the gnutls library.])
+
+ MUTT_LIB_OBJECTS="$MUTT_LIB_OBJECTS mutt_ssl_gnutls.o"
+ need_ssl=yes],
+ [dnl GNUTLS not found
+ AC_MSG_ERROR([could not find libgnutls])
+ ])
+fi
+
AC_ARG_WITH(sasl, [ --with-sasl[=PFX] Use Cyrus SASL library for POP/IMAP authentication],
[
- if test "$need_socket" != "yes"
+ if test "$with_sasl" != "no" -a "$need_imap" != "yes" -a "$need_pop" != "yes"
then
AC_MSG_ERROR([SASL support is only useful with POP or IMAP support])
fi
AC_ARG_WITH(sasl2, [ --with-sasl2[=PFX] Use Cyrus SASL library version 2 for POP/IMAP authentication],
[
- if test "$need_socket" != "yes"
+ if test "$with_sasl2" != "no" -a "$need_imap" != "yes" -a "$need_pop" != "yes"
then
- AC_MSG_ERROR([SASL support is only useful with POP or IMAP support])
+ AC_MSG_ERROR([SASL2 support is only useful with POP or IMAP support])
fi
if test "$with_sasl2" != "no"
saved_LIBS="$LIBS"
AC_CHECK_LIB(sasl2, sasl_client_init,,
- AC_MSG_ERROR([could not find libsasl]),)
+ AC_MSG_ERROR([could not find libsasl2]),)
MUTT_LIB_OBJECTS="$MUTT_LIB_OBJECTS mutt_sasl.o"
MUTTLIBS="$MUTTLIBS -lsasl2"
])
AM_CONDITIONAL(USE_SASL, test x$need_sasl = xyes)
-AC_ARG_WITH(idn, [ --with-idn=[PFX] Use GNU libidn for domain names],
+AC_ARG_WITH(idn, [ --with-idn=[PFX] Use GNU libidn for domain names],
[
if test "$with_idn" != "no" ; then
if test "$with_idn" != "yes" ; then
AC_CHECK_FUNCS(idna_to_ascii_lz idna_to_ascii_from_locale)
fi
-if test "$need_md5" = "yes"
-then
- MUTT_LIB_OBJECTS="$MUTT_LIB_OBJECTS md5c.o"
-fi
-
dnl -- end socket --
AC_ARG_ENABLE(debug, [ --enable-debug Enable debugging support],
AC_DEFINE(USE_FCNTL,1, [ Define to use fcntl() to lock folders. ])
fi
+dnl This may look cumbersome -- please keep it that way, so we can
+dnl quickly change the default to "yes" again.
+mutt_cv_inodesort=no
+AC_ARG_ENABLE(inodesort, [ --enable-inodesort Read files in maildir folders sorted by inode. ],
+ [if test x$enableval = xyes ; then mutt_cv_inodesort=yes; fi])
+
+if test $mutt_cv_inodesort = yes; then
+ AC_DEFINE(USE_INODESORT, 1, [ Define to sort files in a maildir by inode number. ])
+fi
+
mutt_cv_warnings=yes
AC_ARG_ENABLE(warnings, [ --disable-warnings Turn off compiler warnings (not recommended)],
[if test $enableval = no; then
fi])
+dnl -- start cache --
+AC_ARG_ENABLE(hcache, [ --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_gdbm=yes
+ AC_ARG_WITH(gdbm, [ --without-gdbm Get rid of gdbm even if it is available ],
+ ac_prefer_gdbm=$withval)
+ if test x$ac_prefer_gdbm != xno; then
+ CPPFLAGS="$OLDCPPFLAGS"
+ LIBS="$OLDLIBS -lgdbm";
+ AC_CACHE_CHECK(for gdbm_open, ac_cv_gdbmopen,[
+ ac_cv_gdbmopen=no
+ AC_TRY_LINK([#include <gdbm.h>],[gdbm_open(0,0,0,0,0);],[ac_cv_gdbmopen=yes])
+ ])
+ fi
+
+ ac_bdb_prefix=yes
+ AC_ARG_WITH(bdb, [ --with-bdb[=DIR] Use BerkeleyDB4 if gdbm is not available ],
+ ac_bdb_prefix=$withval)
+ if test x$ac_bdb_prefix != xno -a x$ac_cv_gdbmopen != xyes; then
+ test x$ac_bdb_prefix = xyes && ac_bdb_prefix="$mutt_cv_prefix /opt/csw/bdb4 /opt /usr/local /usr"
+ for d in $ac_bdb_prefix; do
+ bdbpfx="$bdbpfx $d"
+ for v in BerkeleyDB.4.3 BerkeleyDB.4.2 BerkeleyDB.4.1; do
+ bdbpfx="$bdbpfx $d/$v"
+ done
+ done
+ BDB_VERSIONS="db-4 db4 db-4.3 db4.3 db43 db-4.2 db4.2 db42 db-4.1 db4.1 db41 db ''"
+ AC_MSG_CHECKING([for BerkeleyDB > 4.0])
+ for d in $bdbpfx; do
+ BDB_INCLUDE_DIR=""
+ BDB_LIB_DIR=""
+ for v in / $BDB_VERSIONS; do
+ if test -r "$d/include/$v/db.h"; then
+ BDB_INCLUDE_DIR="$d/include/$v"
+ if test -d "$d/lib/$v"; then
+ 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"
+ AC_TRY_LINK([
+ #include <stdlib.h>
+ #include <db.h>
+ ],[
+ DB *db = NULL;
+ db->open(db,NULL,NULL,NULL,0,0,0);
+ ],[
+ ac_cv_dbcreate=yes
+ BDB_LIB="$l"
+ break
+ ])
+ done
+ test x$ac_dbcreate = xyes && break
+ fi
+ fi
+ done
+ test x$BDB_LIB != x && break
+ done
+ if test x$ac_cv_dbcreate = xyes; then
+ AC_MSG_RESULT(yes)
+ else
+ AC_MSG_RESULT(no)
+ fi
+ fi
+
+ if test x$ac_cv_gdbmopen = xyes; then
+ CPPFLAGS="$OLDCPPFLAGS"
+ LIBS="$OLDLIBS -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"
+ AC_DEFINE(HAVE_DB4, 1, [Sleepycat DB4 Support])
+ else
+ AC_MSG_ERROR(You need Sleepycat DB4 or GDBM for --enable-hcache)
+ fi
+fi])
+dnl -- end cache --
+
AC_SUBST(MUTTLIBS)
AC_SUBST(MUTT_LIB_OBJECTS)
AC_SUBST(LIBIMAP)
po/Makefile.in doc/Makefile contrib/Makefile
muttbug.sh
imap/Makefile
- Muttrc.head
+ Muttngrc.head
doc/instdoc.sh)