]> diplodocus.org Git - nmh/blobdiff - configure.ac
Added unregister_for_removal(0) calls to the couple of children
[nmh] / configure.ac
index f6ae3e0dcc0eed285fd988989dda5bc514679c48..61a8beb27d3c02dec56e05215f9cac97f38ddcd0 100644 (file)
@@ -119,6 +119,22 @@ if test -n "$auto_cflags"; then
        CFLAGS="$nmh_saved_cflags"])
     test "$nmh_cv_has_dash_ansi" = "yes"  &&  \
       CFLAGS="${CFLAGS:+$CFLAGS }-ansi -pedantic"
        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
   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 +164,29 @@ fi
 dnl --------------
 dnl CUSTOMIZE LINK
 dnl --------------
 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 -----------------
 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
 
 dnl This hack turns off assertions by default, assuming
 dnl that configure still uses this shell variable.  Without
@@ -216,22 +221,6 @@ AS_CASE(["${MD5SUM}"],
        [MD5FMT="missing"])
 AC_SUBST([MD5FMT])
 
        [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])
 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 +300,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?
 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
     [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 +311,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
 [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
 
 dnl ------------------
 dnl CHECK HEADER FILES
@@ -358,8 +337,8 @@ AS_CASE(["$host_os"],
                 [CPPFLAGS="$CPPFLAGS -D_GNU_SOURCE"])])
 
 AC_HEADER_TIOCGWINSZ
                 [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 langinfo.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>.]),,
 
 AC_CHECK_HEADER([sys/ptem.h], AC_DEFINE(WINSIZE_IN_PTEM,1,
   [Define to 1 if `struct winsize' requires <sys/ptem.h>.]),,
@@ -371,7 +350,7 @@ AC_CHECK_HEADER([sys/ptem.h], AC_DEFINE(WINSIZE_IN_PTEM,1,
 dnl ---------------
 dnl CHECK FUNCTIONS
 dnl ---------------
 dnl ---------------
 dnl CHECK FUNCTIONS
 dnl ---------------
-AC_CHECK_FUNCS([wcwidth mbtowc writev lstat nl_langinfo getutxent arc4random])
+AC_CHECK_FUNCS([wcwidth mbtowc nl_langinfo getutxent arc4random])
 
 dnl Check for multibyte character set support
 AS_IF([test "x$ac_cv_header_wchar_h" = "xyes" -a \
 
 dnl Check for multibyte character set support
 AS_IF([test "x$ac_cv_header_wchar_h" = "xyes" -a \
@@ -387,29 +366,29 @@ AC_SUBST([MULTIBYTE_ENABLED])
 dnl -------------------
 dnl CHECK FOR LIBRARIES
 dnl -------------------
 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 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 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
 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"],
 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
 
 dnl --------------
 dnl CHECK FOR NDBM
@@ -502,116 +481,31 @@ dnl CHECK FOR OPENSSL
 dnl -----------------
 
 AS_IF([test x"$tls_support" = x"yes"],[
 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_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])
 
   [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 ----------------
 dnl Use LFLAGS make variable setting to work around bugs in flex
 dnl ----------------
 dnl CHECK FLEX FIXUP
 dnl ----------------
 dnl Use LFLAGS make variable setting to work around bugs in flex
-dnl 2.5.35-37 that cause signed/unsigned mismatch,
+dnl 2.5.36 that cause signed/unsigned mismatch,
 dnl http://sourceforge.net/p/flex/bugs/140/
 AS_IF([test "$LEX" = flex],
       [AS_CASE([`$LEX -V`],
                [flex\ 2.5.35], [LFLAGS=\
 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 $@'],
-               [flex\ 2.5.3@<:@67@:>@], [LFLAGS=\
-'; printf "%s\n" '\''1,$$s/\(  \)int i;/\1yy_size_t i;/'\'' w q | ed -s $@'])
+'; sed -e "s/  int n;/ size_t n;/" $@ >$@.tmp && mv -f $@.tmp $@; true'],
+               [flex\ 2.5.36], [LFLAGS=\
+'; sed -s "s/\(        \)int i;/\1yy_size_t i;/" $@ >$.tmp && mv -f $@.tmp $@; true'])
        AC_SUBST([LFLAGS])])
 
        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 ----------------
 dnl ----------------
 dnl CHECK STRUCTURES
 dnl ----------------
@@ -649,8 +543,7 @@ dnl exist.
 dnl
 
 AC_CONFIG_COMMANDS([build-directories],
 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([
 
 
 AC_CONFIG_COMMANDS_POST([