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
AC_PROG_MAKE_SET
AC_PROG_INSTALL
AC_PROG_RANLIB
-AC_PROG_GPERF
+AC_PATH_PROG(GPERF, gperf, AC_MSG_ERROR([Could not find gperf]))
AC_CHECK_TOOL(AR, ar, ar)
AC_SYS_LARGEFILE
[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.])
dnl ---------------- sendmail ----------------
AC_PATH_PROG(SENDMAIL, sendmail, /usr/sbin/sendmail, $PATH:$ac_aux_path_sendmail)
AC_DEFINE_UNQUOTED(SENDMAIL,"$ac_cv_path_SENDMAIL",[ Where to find sendmail on your system. ])
-OPS="\$(srcdir)/OPS"
+dnl ---------------- lua5.1 ----------------
+PKG_CHECK_MODULES(LUA,lua5.1,[
+ CPPFLAGS="$CPPFLAGS $LUA_CFLAGS"
+ MUTTLIBS="$MUTTLIBS $LUA_LIBS"
+],[AC_MSG_ERROR([could not find lua5.1])])
dnl ---------------- gpgme ----------------
AM_PATH_GPGME(,,[AC_MSG_ERROR(GPGME not found)])
MUTTLIBS="$MUTTLIBS $GPGME_LIBS"
AC_DEFINE(CRYPT_BACKEND_GPGME, 1, [Defined, if GPGME support is enabled])
- AM_CONDITIONAL(BUILD_GPGME, true)
else
- AM_CONDITIONAL(BUILD_GPGME, false)
+ AC_MSG_ERROR([could not find gpgme])
fi
])
-dnl ---------------- mixmaster ----------------
-
-AC_ARG_WITH(mixmaster, AC_HELP_STRING([--with-mixmaster[=PATH]], [Include Mixmaster support]), [
- MIXMASTER=${withval:-"mixmaster"}
- OPS="$OPS \$(srcdir)/OPS.MIX"
- MUTT_LIB_OBJECTS="$MUTT_LIB_OBJECTS remailer.o"
- AC_DEFINE_UNQUOTED(MIXMASTER,"$MIXMASTER",[Where to find mixmaster on your system.])
-])
-
-AC_SUBST([OPS])
-
-AC_PATH_PROG(ISPELL, ispell, no)
-if test $ISPELL != no; then
- AC_DEFINE_UNQUOTED(ISPELL,"$ISPELL",[Where to find ispell on your system.])
-fi
+AC_PATH_PROG(MIXMASTER, mixmaster, mixmaster)
+AC_DEFINE_UNQUOTED(MIXMASTER,"$MIXMASTER",[Where to find mixmaster on your system.])
AC_ARG_WITH(slang, AC_HELP_STRING([--with-slang[=DIR]], [Use S-Lang instead of ncurses]),
[AC_CACHE_CHECK([if this is a BSD system], mutt_cv_bsdish,
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"
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
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)
AC_CHECK_LIB(termlib, main)
fi
AC_DEFINE(USE_SLANG_CURSES,1, [ Define if you compile with SLang instead of curses/ncurses. ])
- AC_DEFINE(HAVE_COLOR,1,[ Define if your curses library supports color. ])
dnl --- now that we've found it, check the link
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
])
[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_DEFINE(HAVE_COLOR,1,[ Define if your curses library supports color. ])
+ 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)
AC_EGREP_HEADER(socklen_t, sys/socket.h, AC_MSG_RESULT([yes]),
AC_MSG_RESULT([no])
AC_DEFINE(socklen_t,int, [ Define to 'int' if <sys/socket.h> doesn't have it. ]))
-AC_CHECK_FUNC(gethostent, , AC_CHECK_LIB(nsl, gethostent))
-AC_CHECK_FUNC(setsockopt, , AC_CHECK_LIB(socket, setsockopt))
-AC_CHECK_FUNCS(getaddrinfo)
+AC_CHECK_FUNC(gethostent,,AC_CHECK_LIB(nsl, gethostent))
+AC_CHECK_FUNC(setsockopt,,AC_CHECK_LIB(socket, setsockopt))
+AC_CHECK_FUNC(getaddrinfo,,[AC_MSG_ERROR([cannot find 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
-])
-
-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
+AM_PATH_LIBGNUTLS(,[
+ CPPFLAGS="$CPPFLAGS $LIBGNUTLS_CFLAGS"
+ MUTTLIBS="$MUTTLIBS $LIBGNUTLS_LIBS"],[AC_MSG_ERROR([could not find libgnutls])
])
-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
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
])
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
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
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>
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)
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()
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
MUTT_AM_LIBESMTP
if test x$use_libesmtp = xyes; then
CFLAGS="$CFLAGS $mutt_libesmtp_cflags"
- MUTTLIBS="$MUTTLIBS $mutt_libesmtp_libs"
- MUTT_LIB_OBJECTS="$MUTT_LIB_OBJECTS mutt_libesmtp.o"
+ MUTTLIBS="$MUTTLIBS -lesmtp"
AC_DEFINE(USE_LIBESMTP, 1, [Define to enable the use of libesmtp])
fi
dnl -- end libesmtp --
-dnl -- sgml tools --
-
-dnl Documentation tools
-have_openjade="no"
-AC_PATH_PROG([OSPCAT], [ospcat], [none])
-if test "x$OSPCAT" != "xnone"; then
- AC_MSG_CHECKING([for openjade docbook stylesheets])
- dslosfile=`ospcat --public-id="-//Norman Walsh//DOCUMENT DocBook Print Stylesheet//EN"`
- DSLROOT=`echo $dslosfile | sed -n -e "s/.*SOIBASE='\(@<:@^'@:>@*\)\/catalog'.*/\1/p"`
- # ospcat may spit out an absolute path without an SOIBASE
- if test -z "$DSLROOT"; then
- DSLROOT=`echo $dslosfile | sed -e 's|<OSFILE>\(.*\)/print/docbook.dsl|\1|'`
- fi
- if test -f $DSLROOT/print/docbook.dsl; then
- AC_MSG_RESULT([in $DSLROOT])
- have_openjade="yes"
- else
- AC_MSG_RESULT([not found: PDF documentation will not be built.])
+AC_ARG_ENABLE(doc, [ --enable-doc build documentation (needs doxygen and LaTeX)])
+# Build documentation?
+DOXYGEN="no"
+LATEX="no"
+if test "${enable_doc}" != "no"; then
+ AC_PATH_PROG(DOXYGEN, doxygen, no)
+ if test "${DOXYGEN}" != "no"; then
+ # Build LaTeX documentation?
+ AC_PATH_PROG(LATEX, pdflatex, no)
+ AC_PATH_PROG(DVIPS, dvips, no)
+ if test "${DVIPS}" = "no"; then
+ LATEX="no"
+ fi
+ AC_MSG_CHECKING(for a4wide.sty)
+ if test -f /usr/share/texmf/tex/latex/misc/a4wide.sty; then
+ AC_MSG_RESULT(yes)
+ elif test -f /usr/share/texmf-tetex/tex/latex/a4wide/a4wide.sty; then
+ AC_MSG_RESULT(yes)
+ else
+ LATEX="no"
+ AC_MSG_RESULT(no)
+ fi
fi
fi
-AC_SUBST(DSLROOT)
-
-AC_MSG_CHECKING([for lynx])
-AC_PATH_PROG([HTML2TXT_CMD], [lynx], [none])
-if test x"$HTML2TXT_CMD" = x"none"; then
- AC_MSG_CHECKING([for w3m])
- AC_PATH_PROG([HTML2TXT_CMD], [w3m], [none])
-fi
-if test x"$HTML2TXT_CMD" = x"none"; then
- AC_MSG_CHECKING([for elinks])
- AC_PATH_PROG([HTML2TXT_CMD], [elinks], [none])
-fi
-case "$HTML2TXT_CMD" in
- *elinks*)
- HTML2TXT_CMD="$HTML2TXT_CMD -dump -no-numbering -no-references \$^ > \$@"
- ;;
- *lynx*)
- HTML2TXT_CMD="$HTML2TXT_CMD -dump -nolist -with_backspaces \$^ > \$@"
- ;;
- *w3m*)
- HTML2TXT_CMD="$HTML2TXT_CMD -dump \$^ > \$@"
- ;;
- *)
- HTML2TXT_CMD="true"
- ;;
-esac
-AC_SUBST(HTML2TXT_CMD)
-
-AC_MSG_CHECKING([for tidy])
-AC_PATH_PROG([HTMLCLEAN_CMD], [tidy], [none])
-
-if test x"$HTMLCLEAN_CMD" != x"none"; then
- HTMLCLEAN_CMD="$HTMLCLEAN_CMD -q -i -m -asxml -utf8 "
-else
- HTMLCLEAN_CMD="echo "
-fi
-AC_SUBST(HTMLCLEAN_CMD)
+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
- doc/Makefile doc/instdoc.sh
- contrib/Makefile
+ apidoc/Makefile apidoc/doxygen.cfg
lib-lib/Makefile
+ lib-lua/Makefile
lib-mime/Makefile
- lib-crypt/Makefile
- lib-hash/Makefile
+ lib-mx/Makefile
lib-sys/Makefile
lib-ui/Makefile
imap/Makefile