more and more cleansing
[apps/madmutt.git] / configure.in
index 9838694..30fdc13 100644 (file)
@@ -44,6 +44,8 @@ AC_C_INLINE
 AC_C_CONST
 
 AC_SYS_LARGEFILE
+AC_FUNC_FSEEKO
+AC_CHECK_SIZEOF(off_t)
 
 AC_PATH_PROG(DBX, dbx, no)
 AC_PATH_PROG(GDB, gdb, no)
@@ -85,6 +87,21 @@ 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.])
 
+AH_BOTTOM([/* fseeko portability defines */
+#ifdef HAVE_FSEEKO
+# define LOFF_T off_t
+# if SIZEOF_OFF_T == 8
+# define OFF_T_FMT "%lld"
+# else
+# define OFF_T_FMT "%ld"
+# endif
+#else
+# define LOFF_T long
+# define fseeko fseek
+# define ftello ftell
+# define OFF_T_FMT "%ld"
+#endif
+])
 MUTT_C99_INTTYPES
 
 ac_aux_path_sendmail=/usr/sbin:/usr/lib
@@ -325,7 +342,7 @@ dnl AC_CHECK_TYPE(ssize_t, int)
 
 AC_CHECK_FUNCS(fgetpos memmove setegid srand48 strerror)
 
-AC_REPLACE_FUNCS(strcasecmp strdup)
+AC_REPLACE_FUNCS(strcasecmp strdup setenv)
 
 AC_CHECK_FUNC(getopt)
 if test $ac_cv_func_getopt = yes; then
@@ -480,7 +497,9 @@ AC_SUBST(DOTLOCK_PERMISSION)
 
 AC_ARG_WITH(domain, AC_HELP_STRING([--with-domain=DOMAIN], [Specify your DNS domain name]),
         [if test $withval != yes; then
-                AC_DEFINE_UNQUOTED(DOMAIN,"$withval",[ Define your domain name. ])
+         if test $withval != no; then
+           AC_DEFINE_UNQUOTED(DOMAIN,"$withval",[ Define your domain name. ])
+         fi
         fi])
 
 need_socket="no"
@@ -513,7 +532,7 @@ AM_CONDITIONAL(BUILD_IMAP, test x$need_imap = xyes)
 
 AC_ARG_ENABLE(nntp, [  --enable-nntp              Enable NNTP support],
 [      if test x$enableval = xyes ; then
-               AC_DEFINE(USE_NNTP)
+               AC_DEFINE(USE_NNTP,1,[ Compiling with newsreading support with NNTP ])
                 LIBNNTP="-Lnntp -lnntp"
                 LIBNNTPDEPS="\$(top_srcdir)/nntp/nntp.h nntp/libnntp.a"
                 need_nntp="yes"
@@ -626,36 +645,6 @@ fi
 
 AM_CONDITIONAL(USE_SSL, test x$need_ssl = xyes)
 
-AC_ARG_WITH(sasl, AC_HELP_STRING([--with-sasl[=PFX]], [Use Cyrus SASL library for POP/IMAP authentication]),
-        [
-        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
-
-        if test "$with_sasl" != "no"
-        then
-          if test "$with_sasl" != "yes"
-          then
-            CPPFLAGS="$CPPFLAGS -I$with_sasl/include"
-            LDFLAGS="$LDFLAGS -L$with_sasl/lib"
-          fi
-
-          saved_LIBS="$LIBS"
-
-          AC_CHECK_LIB(sasl, sasl_client_init,,
-            AC_MSG_ERROR([could not find libsasl]),)
-
-          MUTT_LIB_OBJECTS="$MUTT_LIB_OBJECTS mutt_sasl.o"
-          MUTTLIBS="$MUTTLIBS -lsasl"
-          LIBS="$saved_LIBS"
-          AC_DEFINE(USE_SASL,1,
-                  [ Define if want to use the Cyrus SASL library for POP/IMAP authentication. ])
-          need_sasl=yes
-        fi
-        ])
-AM_CONDITIONAL(USE_SASL, test x$need_sasl = xyes)
-
 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" -a "$need_imap" != "yes" -a "$need_pop" != "yes"
@@ -680,8 +669,6 @@ AC_ARG_WITH(sasl2, AC_HELP_STRING([--with-sasl2[=PFX]], [Use Cyrus SASL library
           MUTTLIBS="$MUTTLIBS -lsasl2"
           LIBS="$saved_LIBS"
           AC_DEFINE(USE_SASL,1,
-                  [ Define if want to use the Cyrus SASL library for POP/IMAP authentication. ])
-          AC_DEFINE(USE_SASL2,1,
                   [ Define if want to use version 2 of the Cyrus SASL library. ])
           need_sasl=yes
         fi
@@ -727,11 +714,20 @@ if test $mutt_cv_fcntl = yes; then
         AC_DEFINE(USE_FCNTL,1, [ Define to use fcntl() to lock folders. ])
 fi
 
+AC_MSG_CHECKING(whether struct dirent defines d_ino)
+ac_cv_dirent_d_ino=no
+AC_TRY_LINK([#include <dirent.h>],[struct dirent dp; (void)dp.d_ino],[ac_cv_dirent_d_ino=yes])
+if test x$ac_cv_dirent_d_ino = xyes ; then
+  AC_DEFINE(HAVE_DIRENT_D_INO,1,
+            [Define to 1 if your system has the dirent::d_ino member])
+fi
+AC_MSG_RESULT($ac_cv_dirent_d_ino)
+
 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,  AC_HELP_STRING([--enable-inodesort], [Read files in maildir folders sorted by inode.]),
-       [if test x$enableval = xyes ; then mutt_cv_inodesort=yes; fi])
+       [if test x$enableval = xyes -a x$ac_cv_dirent_d_ino = 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. ])
@@ -767,7 +763,7 @@ AC_ARG_ENABLE(mailtool, AC_HELP_STRING([--enable-mailtool], [Enable Sun mailtool
 
 AC_ARG_ENABLE(compressed, [  --enable-compressed        Enable compressed folders support ],
         [if test x$enableval = xyes; then
-                AC_DEFINE(USE_COMPRESSED)
+                AC_DEFINE(USE_COMPRESSED,1,[ The compressed mailboxes support ])
         fi])
 
 AC_ARG_ENABLE(locales-fix, AC_HELP_STRING([--enable-locales-fix], [The result of isprint() is unreliable ]),
@@ -1131,33 +1127,68 @@ fi
 dnl -- end libesmtp --
 
 dnl -- sgml tools --
-AC_MSG_CHECKING([for SGML Tools style])
-SGML2TXT_CMD="true"
-SGML2PS_CMD="true"
-SGML2HTML_CMD="true"
-case "`uname -s`" in
-  FreeBSD)
-    SGML2TXT_CMD="sgmlfmt -f ascii manual.sgml && uniq < manual.ascii | expand > manual.txt && rm -rf manual.ascii || true"
-    SGML2PS_CMD="sgmlfmt -f ps manual.sgml || true"
-    SGML2HTML_CMD="sgmlfmt -f html manual.sgml || true"
-    AC_MSG_RESULT(FreeBSD)
+
+dnl Documentation tools
+have_openjade="no"
+AC_PATH_PROG([OSPCAT], [ospcat], [none])
+if test "$OSPCAT" != "none"
+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.])
+  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 \$^ > \$@"
     ;;
-  SunOS)
-    SGML2TXT_CMD="sgml2txt -l manual || true"
-    SGML2PS_CMD="sgml2latex -l -p manual || true"
-    SGML2HTML_CMD="sgml2html -l manual || true"
-    AC_MSG_RESULT(Solaris)
+  *w3m*)
+    HTML2TXT_CMD="$HTML2TXT_CMD -dump \$^ > \$@"
     ;;
   *)
-    SGML2TXT_CMD="if linuxdoc -B txt -c latin --pass='-P -c' manual ; then uniq < manual.txt | expand > _manual.txt ; rm manual.txt ; col -b < _manual.txt > manual.txt ; rm -rf _manual.txt ; fi || true"
-    SGML2PS_CMD="sgml2latex --output=ps manual || true"
-    SGML2HTML_CMD="sgml2html manual || true"
-    AC_MSG_RESULT(Linux (default))
+    HTML2TXT_CMD="true"
     ;;
 esac
-AC_SUBST(SGML2TXT_CMD)
-AC_SUBST(SGML2PS_CMD)
-AC_SUBST(SGML2HTML_CMD)
+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)
 
 AC_OUTPUT(Makefile intl/Makefile m4/Makefile
         po/Makefile.in doc/Makefile contrib/Makefile