We are making POSIX signal support a requirement.
[mmh] / configure.ac
index efae9fc..466a9dd 100644 (file)
@@ -4,6 +4,7 @@ dnl
 
 dnl Move this up a bit
 AC_PREREQ(2.61)
+dnl (I was able to configure with autoconf-2.59 --meillo 2012-03-22)
 
 AC_INIT(mmh, m4_normalize(m4_include([VERSION])))
 AC_CONFIG_SRCDIR(h/nmh.h)
@@ -333,17 +334,12 @@ case "$target_os" in
 esac
 AC_SUBST(OURDEFS)
 
-AC_HEADER_DIRENT
 AC_HEADER_STDC
 AC_HEADER_TIME
-AC_HEADER_SYS_WAIT
-AC_HEADER_STAT
 AC_HEADER_TIOCGWINSZ
-AC_CHECK_HEADERS(string.h memory.h stdlib.h unistd.h errno.h fcntl.h \
-                 limits.h crypt.h termcap.h termio.h termios.h locale.h \
-                 langinfo.h wchar.h wctype.h iconv.h netdb.h \
-                 sys/param.h sys/time.h sys/utsname.h sys/stream.h \
-                 arpa/inet.h arpa/ftp.h)
+AC_CHECK_HEADERS(fcntl.h crypt.h termcap.h \
+                 langinfo.h wchar.h wctype.h iconv.h \
+                 sys/param.h sys/time.h sys/stream.h )
 
 dnl
 dnl Checks for _IO_write_ptr. A Linuxism used by nmh on linux. We
@@ -364,20 +360,7 @@ AC_CHECK_HEADER([sys/ptem.h], AC_DEFINE(WINSIZE_IN_PTEM,1,
 dnl ---------------
 dnl CHECK FUNCTIONS
 dnl ---------------
-AC_FUNC_VFORK
-AC_CHECK_LIB(mkstemp,mkstemp)
-AC_CHECK_FUNCS(waitpid wait3 sigaction sigprocmask sigblock sigsetmask \
-               sighold sigrelse lstat uname tzset killpg mkstemp \
-               getutent nl_langinfo mbtowc wcwidth)
-
-dnl sigsetjmp may be a macro
-AC_MSG_CHECKING(for sigsetjmp)
-AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include <setjmp.h>]],
-  [[sigsetjmp((void *)0, 0);]])],[AC_DEFINE(HAVE_SIGSETJMP, 1,
-    [Define to 1 if you have the `sigsetjmp'.]) AC_MSG_RESULT(yes)],
-  [AC_MSG_RESULT(no)])
-
-AC_REPLACE_FUNCS(snprintf strdup)
+AC_CHECK_FUNCS(lstat tzset getutent nl_langinfo mbtowc wcwidth)
 
 dnl Look for the initgroups() declaration.  On AIX 4.[13], Solaris 4.1.3, and
 dnl ULTRIX 4.2A the function is defined in libc but there's no declaration in
@@ -391,16 +374,6 @@ AC_EGREP_HEADER(initgroups, grp.h, AC_DEFINE(INITGROUPS_HEADER, <grp.h>),
                 AC_EGREP_HEADER(initgroups, unistd.h,
                                 AC_DEFINE(INITGROUPS_HEADER, <unistd.h>)))
 
-dnl On AIX 4.1, snprintf() is defined in libc.a but there's no prototype in
-dnl <stdio.h> or elsewhere.  Apparently it's not officially supported (though it
-dnl seems to work perfectly and IBM apparently uses it in internal code).
-dnl Anyhow, if we omit our own snprintf() and vsnprintf() prototypes when we
-dnl HAVE_SNPRINTF, we get a billion warnings at compile time.  Use the C
-dnl preprocessor to preprocess stdio.h and make sure that there's actually a
-dnl prototype.
-AC_EGREP_HEADER(snprintf, stdio.h, AC_DEFINE(HAVE_SNPRINTF_PROTOTYPE,1,
-  [Define to 1 if <stdio.h> has a prototype for snprintf().]))
-
 dnl Check for multibyte character set support
 if test "x$ac_cv_header_wchar_h" = "xyes" -a "x$ac_cv_header_wctype_h" = "xyes" \
     -a "x$ac_cv_func_wcwidth" = "xyes" -a "x$ac_cv_func_mbtowc" = "xyes"; then
@@ -478,35 +451,6 @@ dnl tests will find it when it tries to link test programs.
 nmh_save_LIBS="$LIBS"
 LIBS="$TERMLIB $LIBS"
 
-dnl Checks for external variable ospeed in the termcap library.
-AC_CACHE_CHECK(if an include file defines ospeed,
-nmh_cv_decl_ospeed_include_defines,
-[AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include <sys/types.h>
-#if HAVE_TERMIOS_H
-# include <termios.h>
-#endif
-#if HAVE_TERMCAP_H
-# include <termcap.h>
-#endif]], [[ospeed = 0;]])],
-nmh_cv_decl_ospeed_include_defines=yes,nmh_cv_decl_ospeed_include_defines=no)])
-
-if test $nmh_cv_decl_ospeed_include_defines = no; then
-  AC_CACHE_CHECK(if you must define ospeed,
-  nmh_cv_decl_ospeed_must_define,
-  [AC_LINK_IFELSE([AC_LANG_PROGRAM([[]],
-  [[extern short ospeed; ospeed = 0;]])],
-  nmh_cv_decl_ospeed_must_define=yes,nmh_cv_decl_ospeed_must_define=no)])
-fi
-
-AH_TEMPLATE(HAVE_OSPEED, [Define to 1 if your termcap library has the ospeed variable.])
-if test $nmh_cv_decl_ospeed_include_defines = yes; then
-  AC_DEFINE(HAVE_OSPEED)dnl
-elif test $nmh_cv_decl_ospeed_must_define = yes; then
-  AC_DEFINE(HAVE_OSPEED)
-  AC_DEFINE(MUST_DEFINE_OSPEED, 1,
-    [Define to 1 if you have ospeed, but it is not defined in termcap.h.])
-fi
-
 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().
@@ -580,29 +524,15 @@ LIBS="$nmh_save_LIBS"
 dnl --------------
 dnl CHECK TYPEDEFS
 dnl --------------
-AC_TYPE_SIGNAL
 AC_TYPE_PID_T
 AC_TYPE_OFF_T
 AC_TYPE_UID_T
 AC_TYPE_MODE_T
 AC_TYPE_SIZE_T
 
-dnl Check for sigset_t.  Currently I'm looking in
-dnl <sys/types.h> and <signal.h>.  Others might need
-dnl to be added.
-AC_CACHE_CHECK(for sigset_t, nmh_cv_type_sigset_t,
-[AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <sys/types.h>
-#include <signal.h>]], [[sigset_t tempsigset;]])],
-nmh_cv_type_sigset_t=yes,nmh_cv_type_sigset_t=no)])
-if test $nmh_cv_type_sigset_t = no; then
-  AC_DEFINE(sigset_t, unsigned int,
-    [Define to `unsigned int' if <sys/types.h> or <signal.h> doesn't define.])
-fi
-
 dnl ----------------
 dnl CHECK STRUCTURES
 dnl ----------------
-AC_CHECK_MEMBERS(struct stat.st_blksize)
 
 AC_CHECK_MEMBERS(struct tm.tm_gmtoff,,,
   [#ifdef TIME_WITH_SYS_TIME
@@ -618,63 +548,7 @@ AC_CHECK_MEMBERS(struct tm.tm_gmtoff,,,
 
 AC_CHECK_MEMBERS(struct utmp.ut_type,,,[#include <utmp.h>])
 
-AC_MSG_CHECKING(for union wait)
-AC_CACHE_VAL(nmh_cv_union_wait, [dnl
-  AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include <sys/types.h>
-#include <sys/wait.h>]],
-    [[union wait status; int pid; pid = wait (&status);
-#ifdef WEXITSTATUS
-/* Some POSIXoid systems have both the new-style macros and the old
-   union wait type, and they do not work together.  If union wait
-   conflicts with WEXITSTATUS et al, we don't want to use it at all.  */
-        if (WEXITSTATUS (status) != 0) pid = -1;
-#ifdef WTERMSIG
-        /* If we have WEXITSTATUS and WTERMSIG, just use them on ints.  */
-        -- blow chunks here --
-#endif
-#endif
-#ifdef HAVE_WAITPID
-        /* Make sure union wait works with waitpid.  */
-        pid = waitpid (-1, &status, 0);
-#endif
-      ]])],
-    [nmh_cv_union_wait=yes],
-    [nmh_cv_union_wait=no])])
-if test "$nmh_cv_union_wait" = yes; then
-  AC_DEFINE(HAVE_UNION_WAIT, 1,
-    [Define to 1 if you have the \`union wait' type in <sys/wait.h>.])
-fi
-AC_MSG_RESULT($nmh_cv_union_wait)
-
-CHECK_TYPE_STRUCT_DIRENT_D_TYPE()
-
-dnl -------------
-dnl CHECK SIGNALS
-dnl -------------
-dnl What style of signal do you have (POSIX, BSD, or SYSV)?
-AH_TEMPLATE(RELIABLE_SIGNALS, [Define to 1 if you have reliable signals.])
-AC_MSG_CHECKING(what style of signals to use)
-if test $ac_cv_func_sigaction = yes -a $ac_cv_func_sigprocmask = yes; then
-  signals_style=POSIX_SIGNALS
-  AC_DEFINE(POSIX_SIGNALS, 1,
-    [Define to 1 if you use POSIX style signal handling.])
-  AC_DEFINE(RELIABLE_SIGNALS)
-elif test $ac_cv_func_sigblock = yes -a $ac_cv_func_sigsetmask = yes; then
-  signals_style=BSD_SIGNALS
-  AC_DEFINE(BSD_SIGNALS,1,
-    [Define to 1 if you use BSD style signal handling (and can block signals).])
-  AC_DEFINE(RELIABLE_SIGNALS)
-elif test $ac_cv_func_sighold = yes -a $ac_cv_func_sigrelse = yes; then
-  signals_style=SYSV_SIGNALS
-  AC_DEFINE(SYSV_SIGNALS,1,
-    [Define to 1 if you use SYSV style signal handling (and can block signals).])
-else
-  signals_style=NO_SIGNAL_BLOCKING
-  AC_DEFINE(NO_SIGNAL_BLOCKING,1,
-    [Define to 1 if you have no signal blocking at all (bummer).])
-fi
-
-AC_MSG_RESULT($signals_style)
+AC_STRUCT_DIRENT_D_TYPE
 
 dnl Where is <signal.h> located?  Needed as input for signames.awk
 AC_CACHE_CHECK(where signal.h is located, nmh_cv_path_signal_h,