]> diplodocus.org Git - nmh/blobdiff - configure.ac
Whoops, forgot a newline.
[nmh] / configure.ac
index 00835424153541dd4f645351f97b5535eb718b5d..35118f340670b88c1e53ce720ff71a6a375d4fd8 100644 (file)
@@ -28,14 +28,6 @@ dnl Do you want to debug nmh?
 AC_ARG_ENABLE([debug],
   AS_HELP_STRING([--enable-debug],[enable nmh code debugging]))
 
-dnl Do you want to disable use of locale functions
-AH_TEMPLATE([LOCALE],
-[Undefine if you don't want locale features.  By default this is defined.])
-AC_ARG_ENABLE([locale],
-  [AS_HELP_STRING([--disable-locale], [turn off locale features])],
-  [AS_IF([test x$enableval = xyes], [AC_DEFINE(LOCALE)])],
-  [AC_DEFINE(LOCALE)])
-
 dnl Do you want client-side support for using SASL for authentication?
 dnl Note that this code will be enabled for both POP and SMTP
 AC_ARG_WITH([cyrus-sasl], AS_HELP_STRING([--with-cyrus-sasl],
@@ -119,6 +111,22 @@ if test -n "$auto_cflags"; then
        CFLAGS="$nmh_saved_cflags"])
     test "$nmh_cv_has_dash_ansi" = "yes"  &&  \
       CFLAGS="${CFLAGS:+$CFLAGS }-ansi -pedantic"
+
+    dnl For Ubuntu gcc 4.8.1, with -O2.  It would be better to fix all these,
+    dnl but until then, suppress the warning.
+    AC_CACHE_CHECK([whether compiler needs -Wno-unused-result],
+                   [nmh_cv_needs_wnur],
+                   [nmh_saved_cflags="$CFLAGS"
+                    CFLAGS="$CFLAGS -Werror -O2"
+                    AC_COMPILE_IFELSE([AC_LANG_PROGRAM([#include <unistd.h>],
+                                        [extern const char *path;
+                                         chdir (path);
+                                         return 0;])],
+                                       [nmh_cv_needs_wnur=no],
+                                       [nmh_cv_needs_wnur=yes])
+                    CFLAGS="$nmh_saved_cflags"])
+    AS_IF([test "$nmh_cv_needs_wnur" = yes],
+          [CFLAGS="${CFLAGS:+$CFLAGS }-Wno-unused-result"])
   else
     dnl Use -v and some other options with SunStudio cc.  lex produces
     dnl code that causes unreachable-statement warnings.  It might be
@@ -148,40 +156,29 @@ fi
 dnl --------------
 dnl CUSTOMIZE LINK
 dnl --------------
-if test `uname` = OpenBSD; then
-  dnl Filter out "often/almost always misused" warnings from OpenBSD linker.
-  [POSTLINK="2>&1 | egrep -v ': [w]arning: s[a-z]+\(\) is \
-(almost always|often) misused, please use'; true"]
-fi
+AS_IF([test `uname` = OpenBSD],
+      dnl Munge "often/almost always misused" warnings from OpenBSD linker
+      dnl so that they don't color the waterfall.
+      [POSTLINK="2>&1 | sed -e \
+'s/: w\(arning: s.*() is .* misused, please use\)/: W\1/'"])
 AC_SUBST([POSTLINK])
 
 dnl -----------------
 dnl CUSTOMIZE LDFLAGS
 dnl -----------------
-if test "$GCC" = yes; then
-  dnl Disable clang complaint about unused -ansi when linking.
-  AC_CACHE_CHECK([whether linker supports -Qunused-arguments],
-                 [nmh_cv_has_q_unused_arguments],
-                 [nmh_saved_ldflags="$LDFLAGS"
-                  LDFLAGS="$LDFLAGS -Qunused-arguments"
-                  AC_TRY_LINK([],[],nmh_cv_has_q_unused_arguments=yes,
-                                    nmh_cv_has_q_unused_arguments=no)
-                  LDFLAGS="$nmh_saved_ldflags"])
-  test "$nmh_cv_has_q_unused_arguments" = "yes"  &&  \
-    LDFLAGS="${LDFLAGS:+$LDFLAGS }-Qunused-arguments"
-fi
-
-dnl This really shouldn't be necessary.  And we really shouldn't add -s.
-if test x"$enable_debug" = x"yes"; then
-  test -z "$LDFLAGS" && LDFLAGS=-g
-else
-  if test -z "$LDFLAGS"; then
-    case "$build_os" in
-      darwin*) LDFLAGS= ;;
-            *) LDFLAGS=-s ;;
-    esac
-  fi
-fi
+dnl Disable clang complaint about unused -ansi when linking.
+AC_CACHE_CHECK([whether linker supports -Qunused-arguments],
+               [nmh_cv_has_q_unused_arguments],
+               [AS_IF([test "$GCC" = yes  &&  `${CC} --version 2>&1 | \
+                       grep clang >/dev/null`],
+                      [nmh_saved_ldflags="$LDFLAGS"
+                       LDFLAGS="$LDFLAGS -Qunused-arguments"
+                       AC_TRY_LINK([],[],nmh_cv_has_q_unused_arguments=yes,
+                                         nmh_cv_has_q_unused_arguments=no)
+                       LDFLAGS="$nmh_saved_ldflags"],
+                       [nmh_cv_has_q_unused_arguments=no])])
+test "$nmh_cv_has_q_unused_arguments" = "yes"  &&  \
+  LDFLAGS="${LDFLAGS:+$LDFLAGS }-Qunused-arguments"
 
 dnl This hack turns off assertions by default, assuming
 dnl that configure still uses this shell variable.  Without
@@ -216,22 +213,6 @@ AS_CASE(["${MD5SUM}"],
        [MD5FMT="missing"])
 AC_SUBST([MD5FMT])
 
-dnl ----------------------------------------------
-dnl check for lclint, and lint if it doesn't exist
-dnl ----------------------------------------------
-AC_CHECK_PROG([linttmp1], [lclint], [lclint], [no])dnl
-AS_IF([test x$ac_cv_prog_linttmp1 != xno],
-  [LINT=$ac_cv_prog_linttmp1
-  LINTFLAGS="-weak +posixlib -macrovarprefixexclude"],
-  [AC_CHECK_PROG([linttmp2], [lint], [lint], [no])dnl
-  AS_IF([test x$ac_cv_prog_linttmp2 != xno],
-    [LINT=$ac_cv_prog_linttmp2
-    LINTFLAGS=""],
-    [LINT="echo 'No lint program found'"
-    LINTFLAGS=""])])
-AC_SUBST([LINT])dnl
-AC_SUBST([LINTFLAGS])dnl
-
 dnl Look for `ls'
 pathtmp=/usr/xpg4/bin:/usr/bin:/bin:/usr/local/bin:/usr/ucb
 AC_PATH_PROG([lspath], [ls], [no], [$pathtmp])
@@ -311,7 +292,7 @@ dnl If mailspool is not world-writable and dotlockfile is not setgid,
 dnl we need to #define MAILGROUP to 1 and make inc setgid.
 if test x"$LOCKTYPE" = x"dot" -a x"$nmh_cv_mailspool_world_writable" = x"no" -a x"$nmh_cv_dotlockfile_setgid" != x"yes" ; then
   dnl do we really need both of these?
-  AC_DEFINE(MAILGROUP,1,
+  AC_DEFINE([MAILGROUP],[1],
     [Define to 1 if you need to make `inc' set-group-id because your mail spool is not world writable. There are no guarantees as to the safety of doing this, but this #define will add some extra security checks.])dnl
   SETGID_MAIL=1
 fi
@@ -322,20 +303,10 @@ AC_CACHE_CHECK(what group owns the mail spool, nmh_cv_ls_mail_grp,
 [nmh_cv_ls_mail_grp=`$lspath -dL $nmh_cv_ls_grpopt $mailspool|$AWK '{print $4}'`
 ])
 MAIL_SPOOL_GRP=$nmh_cv_ls_mail_grp
-AC_SUBST(MAIL_SPOOL_GRP)dnl
-
-dnl ---------------------------------------------
-dnl CHECK FOR PROGRAM TO PROVIDE MIME TYPE STRING
-dnl ---------------------------------------------
-AS_IF([file --mime "${srcdir}"/configure >/dev/null 2>&1],
-      [nmh_mimetypeproc='"file --mime"'])
-if test -n "$nmh_mimetypeproc"; then
-  AS_IF([file --brief --mime "${srcdir}"/configure >/dev/null 2>&1],
-      [nmh_mimetypeproc='"file --brief --mime"'])
-fi
-AS_CASE([$nmh_mimetypeproc], [?*],
-        [AC_DEFINE_UNQUOTED([MIMETYPEPROC], [$nmh_mimetypeproc],
-          [Program, with arguments, that provides MIME type string.])])
+AC_SUBST([MAIL_SPOOL_GRP])dnl
+
+NMH_MIMETYPEPROC
+NMH_MIMEENCODINGPROC
 
 dnl ------------------
 dnl CHECK HEADER FILES
@@ -358,8 +329,7 @@ AS_CASE(["$host_os"],
                 [CPPFLAGS="$CPPFLAGS -D_GNU_SOURCE"])])
 
 AC_HEADER_TIOCGWINSZ
-AC_CHECK_HEADERS([fcntl.h ncurses/termcap.h termcap.h langinfo.h \
-                  wchar.h wctype.h sys/param.h sys/time.h sys/stream.h])
+AC_CHECK_HEADERS([fcntl.h wchar.h wctype.h sys/param.h sys/time.h sys/stream.h])
 
 AC_CHECK_HEADER([sys/ptem.h], AC_DEFINE(WINSIZE_IN_PTEM,1,
   [Define to 1 if `struct winsize' requires <sys/ptem.h>.]),,
@@ -371,7 +341,7 @@ AC_CHECK_HEADER([sys/ptem.h], AC_DEFINE(WINSIZE_IN_PTEM,1,
 dnl ---------------
 dnl CHECK FUNCTIONS
 dnl ---------------
-AC_CHECK_FUNCS([wcwidth mbtowc writev lstat nl_langinfo getutxent arc4random])
+AC_CHECK_FUNCS([wcwidth mbtowc getutxent arc4random])
 
 dnl Check for multibyte character set support
 AS_IF([test "x$ac_cv_header_wchar_h" = "xyes" -a \
@@ -387,29 +357,29 @@ AC_SUBST([MULTIBYTE_ENABLED])
 dnl -------------------
 dnl CHECK FOR LIBRARIES
 dnl -------------------
-dnl Check location of modf
-AC_CHECK_FUNC([modf], , AC_CHECK_LIB([m], [modf]))
-
 dnl Checks for network libraries (nsl, socket)
 NMH_CHECK_NETLIBS
 
-dnl Check for readline support
-NMH_READLINE
-
 dnl Check the locking functions supported and what we should use by default
 NMH_LOCKING
 
 dnl Check for iconv
 NMH_CHECK_ICONV
 
+dnl Check for tputs() callback argument
+NMH_TPUTS_PUTC_ARG
+
 termcap_curses_order="termcap curses ncurses"
 for lib in $termcap_curses_order; do
-  AC_CHECK_LIB(${lib}, tgetent, [TERMLIB="-l$lib"; break])
+  AC_CHECK_LIB([${lib}], [setupterm], [TERMLIB="-l$lib"; break])
 done
 AC_SUBST([TERMLIB])dnl
 AS_IF([test "x$TERMLIB" = "x"],
-      [AC_MSG_FAILURE([Could not find tgetent in any library.  Is there a curses
-or ncurses library or package that you can install?])])
+      [AC_MSG_FAILURE([Could not find setupterm in any library.  Is there a
+curses or ncurses library or package that you can install?])])
+
+dnl Check for readline support
+NMH_READLINE
 
 dnl --------------
 dnl CHECK FOR NDBM
@@ -502,93 +472,17 @@ dnl CHECK FOR OPENSSL
 dnl -----------------
 
 AS_IF([test x"$tls_support" = x"yes"],[
+  dnl OpenBSD 5 needs the other-libraries (fourth argument) to the
+  dnl AC_CHECK_LIB for SSL_library_init, because it doesn't
+  dnl automatically append -lcrypto when linking with -lssl.
   AC_CHECK_HEADER([openssl/ssl.h], , [AC_MSG_ERROR([openssl/ssl.h not found])])
   AC_CHECK_LIB([crypto], [BIO_write], [TLSLIB="-lcrypto"],
     [AC_MSG_ERROR([OpenSSL crypto library not found])])
   AC_CHECK_LIB([ssl], [SSL_library_init], [TLSLIB="-lssl $TLSLIB"],
-    [AC_MSG_ERROR([OpenSSL library not found])])],
+    [AC_MSG_ERROR([OpenSSL library not found])],[$TLSLIB])],
   [TLSLIB=])
 AC_SUBST([TLSLIB])
 
-dnl ---------------------
-dnl CHECK TERMCAP LIBRARY
-dnl ---------------------
-
-dnl Add the termcap library, so that the following configure
-dnl tests will find it when it tries to link test programs.
-nmh_save_LIBS="$LIBS"
-LIBS="$TERMLIB $LIBS"
-
-dnl Check if tgetent accepts NULL (and will allocate its own termcap buffer)
-dnl Some termcaps reportedly accept a zero buffer, but then dump core
-dnl in tgetstr().
-dnl Under Cygwin test program crashes but exit code is still 0. So,
-dnl we test for a file that porgram should create
-AH_TEMPLATE([TGETENT_ACCEPTS_NULL],
-[Define to 1 if tgetent() accepts NULL as a buffer.])
-AC_CACHE_CHECK(if tgetent accepts NULL,
-nmh_cv_func_tgetent_accepts_null,
-[AC_TRY_RUN([
-main()
-{
-    char buf[4096];
-    int r1 = tgetent(buf, "vt100");
-    int r2 = tgetent((char*)0,"vt100");
-    if (r1 >= 0 && r1 == r2) {
-        char tbuf[1024], *u;
-        u = tbuf;
-       tgetstr("cl", &u);
-       creat("conftest.tgetent", 0640);
-    }
-    exit((r1 != r2) || r2 == -1);
-}
-],
-  if test -f conftest.tgetent; then
-    nmh_cv_func_tgetent_accepts_null=yes
-  else
-    nmh_cv_func_tgetent_accepts_null=no
-  fi,
-  nmh_cv_func_tgetent_accepts_null=no,
-  nmh_cv_func_tgetent_accepts_null=no)])
-if test x$nmh_cv_func_tgetent_accepts_null = xyes; then
-  AC_DEFINE(TGETENT_ACCEPTS_NULL)
-fi
-AC_CACHE_CHECK(if tgetent returns 0 on success,
-nmh_cv_func_tgetent_zero_success,
-[AC_TRY_RUN([
-main()
-{
-    char buf[4096];
-    int r1 = tgetent(buf, "!@#$%^&*");
-    int r2 = tgetent(buf, "vt100");
-    if (r1 < 0 && r2 == 0) {
-        char tbuf[1024], *u;
-        u = tbuf;
-       tgetstr("cl", &u);
-       creat("conftest.tgetent0", 0640);
-    }
-    exit(r1 == r2);
-}
-],
-  if test -f conftest.tgetent0; then
-    nmh_cv_func_tgetent_zero_success=yes
-  else
-    nmh_cv_func_tgetent_zero_success=no
-  fi,
-  nmh_cv_func_tgetent_zero_success=no,
-  nmh_cv_func_tgetent_zero_success=no)])
-AH_TEMPLATE([TGETENT_SUCCESS],
-[Define to what tgetent() returns on success (0 on HP-UX X/Open curses).])
-if test x$nmh_cv_func_tgetent_zero_success = xyes; then
-  AC_DEFINE(TGETENT_SUCCESS, 0)
-else
-  AC_DEFINE(TGETENT_SUCCESS, 1)
-fi
-
-dnl Now put the libraries back to what it was before we
-dnl starting checking the termcap library.
-LIBS="$nmh_save_LIBS"
-
 dnl ----------------
 dnl CHECK FLEX FIXUP
 dnl ----------------
@@ -598,20 +492,11 @@ dnl http://sourceforge.net/p/flex/bugs/140/
 AS_IF([test "$LEX" = flex],
       [AS_CASE([`$LEX -V`],
                [flex\ 2.5.35], [LFLAGS=\
-'; printf "%s\n" '\''1,$$s/(size_t) \(num_to_read\)/\1/'\'' w q | ed -s $@'],
+'; sed -e "s/  int n;/ size_t n;/" $@ >$@.tmp && mv -f $@.tmp $@; true'],
                [flex\ 2.5.36], [LFLAGS=\
-'; printf "%s\n" '\''1,$$s/\(  \)int i;/\1yy_size_t i;/'\'' w q | ed -s $@'])
+'; sed -s "s/\(        \)int i;/\1yy_size_t i;/" $@ >$.tmp && mv -f $@.tmp $@; true'])
        AC_SUBST([LFLAGS])])
 
-dnl --------------
-dnl CHECK TYPEDEFS
-dnl --------------
-AC_TYPE_PID_T
-AC_TYPE_OFF_T
-AC_TYPE_UID_T
-AC_TYPE_MODE_T
-AC_TYPE_SIZE_T
-
 dnl ----------------
 dnl CHECK STRUCTURES
 dnl ----------------
@@ -649,8 +534,7 @@ dnl exist.
 dnl
 
 AC_CONFIG_COMMANDS([build-directories],
-[test -d etc || AS_MKDIR_P([etc])
-test -d man || AS_MKDIR_P([man])])
+[test -d man || AS_MKDIR_P([man])])
 
 AC_CONFIG_COMMANDS_POST([