*/
/*
- * Turn on locale (setlocale) support
- */
-#define LOCALE 1
-
-/*
- * Define to 1 the type of file locking to use. You need to
- * make sure the type of locking you use is compatible with
- * other programs which may modify your maildrops.
- * Currently you can only use one type.
- */
-#undef DOT_LOCKING
-#undef FCNTL_LOCKING
-#undef LOCKF_LOCKING
-#undef FLOCK_LOCKING
-
-/*
* If you have defined DOT_LOCKING, then the default is to
* place the lock files in the same directory as the file that
* is to be locked. Alternately, if you define LOCKDIR, you
#define LINK "@"
/*
- * If wait/waitpid returns an int (no union wait).
- */
-#define WAITINT 1
-
-/* The following are autoconfigured, but you may wish to override the
- * decisions of autoconf (and AC_CANONICAL_SYSTEM) and do your own
- * thing. If so, you can modify the definitions. The Comments are as
- * useful as ever. */
-
-/* these three are only used in vmh.c, which currently is not being
- * built anyway. -Doug */
-/* Defined for Solaris 2.x, Irix, OSF/1, HP-UX, AIX, SCO5 */
-#undef SYS5
-/* Defined for Solaris 2.x, Irix, OSF/1, HP-UX, AIX */
-#undef SVR4
-/* Defined for SunOS 4, FreeBSD, NetBSD, OpenBSD, BSD/OS, Mac OS X/Rhapsody */
-#undef BSD44
-
-/* Defined for SunOS 4, FreeBSD, NetBSD, OpenBSD, BSD/OS, Mac OS X/Rhapsody
- * -- does PicoBSD have uname? :) */
-#undef BSD42
-
-/* Defined for SCO5 */
-#undef SCO_5_STDIO
-
-/* This tells nmh to use the Linux _IO_*_ptr defines from libio.h */
-#undef LINUX_STDIO
-
-/*
* Define to 1 if your vi has ATT bug, such that it returns
* non-zero exit codes on `pseudo-errors'.
*/
/***** END USER CONFIGURATION SECTION *****/
@TOP@
-
-/*
- * The prefix which is prepended to the name of messages when they
- * are "removed" by rmm. This should typically be `,' or `#'
- */
-#define BACKUP_PREFIX ","
-
-/*
- * Define this if you want SMTP (simple mail transport protocol)
- * support. This is currently always enabled.
- */
-#define SMTPMTS 1
-
-/*
- * Define this to compile client-side support for pop into
- * inc and msgchk. Do not change this value manually. You
- * must run configure with the '--enable-pop' option to
- * correctly build the pop client support.
- */
-#undef POP
-
-/*
- * Define this to compile client-side support for apop into
- * inc and msgchk. Do not change this value manually. You
- * must run configure with the '--enable-apop' option to
- * correctly build the apop client support.
- */
-#undef APOP
-
-/*
- * Define this to compile client-side support for kpop
- * (kerberized pop) into inc and msgchk. Do not change this
- * value manually. You must run configure with the option
- * '--with-krb4=PREFIX' to correctly build the kpop client support.
- */
-#undef KPOP
-
-/*
- * Define this to "pop" when using Kerberos V4
- */
-#undef KPOP_PRINCIPAL
-
-/*
- * Define this to use the Cyrus SASL library for authentication of
- * POP and SMTP
- */
-#undef CYRUS_SASL
-
-/*
- * Define this to compile support for using Hesiod to locate
- * pop servers into inc and msgchk. Do not change this value
- * manually. You must run configure with the option
- * '--with-hesiod=PREFIX' to correctly build Hesiod support.
- */
-#undef HESIOD
-
-/*
- * Compile in support for the Emacs front-end mh-e.
- */
-#undef MHE
-
-/* Define to 1 if your termcap library has the ospeed variable */
-#undef HAVE_OSPEED
-/* Define to 1 if you have ospeed, but it is not defined in termcap.h */
-#undef MUST_DEFINE_OSPEED
-
-/* Define to 1 if tgetent() accepts NULL as a buffer */
-#undef TGETENT_ACCEPTS_NULL
-
-/* Define to 1 if you have reliable signals */
-#undef RELIABLE_SIGNALS
-
-/* Define to 1 if you use POSIX style signal handling */
-#undef POSIX_SIGNALS
-
-/* Define to 1 if you use BSD style signal handling (and can block signals) */
-#undef BSD_SIGNALS
-
-/* Define to 1 if you use SYS style signal handling (and can block signals) */
-#undef SYSV_SIGNALS
-
-/* Define to 1 if you have no signal blocking at all (bummer) */
-#undef NO_SIGNAL_BLOCKING
-
-/* Define to `unsigned int' if <sys/types.h> or <signal.h> doesn't define */
-#undef sigset_t
-
-/*
- * 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.
- */
-#undef MAILGROUP
-
-/* Define if your system defines TIOCGWINSZ in sys/ioctl.h. */
-#undef GWINSZ_IN_SYS_IOCTL
-
-/* Define if your system defines `struct winsize' in sys/ptem.h. */
-#undef WINSIZE_IN_PTEM
-
-/* Define to 1 if struct tm has gmtoff */
-#undef HAVE_TM_GMTOFF
-
-/* Define to 1 if struct utmp has ut_type */
-#undef HAVE_UTMP_UT_TYPE
-
-/* Define if your system has sigsetjmp */
-#undef HAVE_SIGSETJMP
-
-/* Define if your system has mkstemp */
-#undef HAVE_MKSTEMP
-
-/* Define if your system has sethostent */
-#undef HAVE_SETHOSTENT
-
-/* Define if your system has gethostbyname */
-#undef HAVE_GETHOSTBYNAME
-
-/* Define if your system has netdb.h */
-#undef HAVE_NETDB_H
-
-/* Define to the header containing the declaration of initgroups() on your
- system, if any. AIX 4.[13], SunOS 4.1.3, and ULTRIX 4.2A have the function
- in libc but don't have a declaration anywhere. */
-#undef INITGROUPS_HEADER
-
-/* Define to the header containing the ndbm API prototypes */
-#undef NDBM_HEADER
-
-/* Define if your system actually has a prototype for snprintf() in <stdio.h>
- (or a file it includes) rather than just having a "stealth" definition of it
- in libc.a the way AIX 4.1 does. */
-#undef HAVE_SNPRINTF_PROTOTYPE
AC_ARG_ENABLE(apop, AS_HELP_STRING([--enable-apop],
[enable client-side support for POP3 and APOP]))
if test x"$enable_apop" = x"yes"; then
- AC_DEFINE(APOP)dnl
+ AC_DEFINE(APOP, 1,
+ [Define to compile client-side support for apop into inc and msgchk.])dnl
APOPLIB=md5.o
enable_pop=yes
fi
dnl mhe support is on by default, so define it unless --disable-mhe or the
dnl deprecated, undocumented --disable-nmh-mhe are specified.
if test x"$enable_mhe" != x"no" -a x"$enable_nmh_mhe" != x"no"; then
- AC_DEFINE(MHE)dnl
+ AC_DEFINE(MHE, 1,
+ [Define to compile in support for the Emacs front-end mh-e.])dnl
fi
dnl Do you want client-side support for pop?
enable_pop=yes
fi
+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],
+AC_HELP_STRING([--disable-locale], [turn off locale features]),
+[if test x$enableval = xyes; then
+ AC_DEFINE(LOCALE)
+fi],
+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=DIR],
[specify location of Cyrus SASL library]))
if test x"$with_cyrus_sasl" != x -a x"$with_cyrus_sasl" != x"no"; then
- AC_DEFINE(CYRUS_SASL)dnl
+ AC_DEFINE(CYRUS_SASL, 1,
+ [Define to use the Cyrus SASL library for authentication of POP and SMTP.])dnl
sasl_support=yes
else
sasl_support=no
else
backup_prefix=","
fi
-AC_DEFINE_UNQUOTED(BACKUP_PREFIX, "$backup_prefix")dnl
+AC_DEFINE_UNQUOTED(BACKUP_PREFIX, "$backup_prefix",
+ [The prefix that is prepended to the name of message files when they are "removed" by rmm. This should typically be `,' or `#'.])dnl
dnl Do you want support for hesiod
AC_ARG_WITH(hesiod,
AS_HELP_STRING([--with-hesiod=DIR],[specify location of Hesiod]))
if test x"$with_hesiod" != x -a x"$with_hesiod" != x"no"; then
- AC_DEFINE(HESIOD)dnl
+ AC_DEFINE(HESIOD,1,[Define this to compile support for using Hesiod.])dnl
fi
dnl Do you want client-side support for kpop
[specify location of Kerberos V4 for KPOP support]))
if test x"$with_krb4" != x -a x"$with_krb4" != x"no"; then
enable_pop=yes
- AC_DEFINE(KPOP)dnl
- AC_DEFINE(KPOP_PRINCIPAL, "pop")dnl
+ AC_DEFINE(KPOP, 1,
+ [Define to compile client-side support for kpop (kerberized pop) into inc and msgchk.])dnl
+ AC_DEFINE(KPOP_PRINCIPAL, "pop", [Define this to "pop" when using Kerberos V4])dnl
fi
dnl After we know if we're including apop and kpop support, do pop stuff
if test x"$enable_pop" = x"yes"; then
- AC_DEFINE(POP)dnl
+ AC_DEFINE(POP, 1,
+ [Define this to compile client-side support for pop into inc and msgchk.])dnl
POPLIB=popsbr.o
POPSED='/^%nmhbeginpop%/d;/^%nmhendpop%/d'
else
if test x"$with_locking" = x"dot"; then
LOCKTYPE="dot"
- AC_DEFINE(DOT_LOCKING)dnl
+ AC_DEFINE(DOT_LOCKING, 1, [Define to use dot based file locking.])dnl
elif test x"$with_locking" = x"flock"; then
LOCKTYPE="flock"
- AC_DEFINE(FLOCK_LOCKING)dnl
+ AC_DEFINE(FLOCK_LOCKING, 1, [Define to use flock() based locking.])dnl
elif test x"$with_locking" = x"lockf"; then
LOCKTYPE="lockf"
- AC_DEFINE(LOCKF_LOCKING)dnl
+ AC_DEFINE(LOCKF_LOCKING, 1, [Define to use lockf() based locking.])dnl
elif test x"$with_locking" = x"fcntl"; then
LOCKTYPE="fcntl"
- AC_DEFINE(FCNTL_LOCKING)dnl
+ AC_DEFINE(FCNTL_LOCKING, 1, [Define to use fnctl() based locking.])dnl
else
LOCKTYPE="dot"
AC_DEFINE(DOT_LOCKING)dnl
AC_SUBST(MTS)dnl
dnl Both the smtp and sendmail mail transport services use the smtp code
-AC_DEFINE(SMTPMTS)dnl
+AC_DEFINE(SMTPMTS, 1,
+ [Define if you want SMTP (simple mail transport protocol) support.])dnl
dnl What should be the default pager?
AC_ARG_WITH(pager,
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)dnl
+ 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
AC_SUBST(SETGID_MAIL)dnl
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_CACHE_CHECK(POSIX termios, nmh_cv_sys_posix_termios,
-[AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include <sys/types.h>
-#include <unistd.h>
-#include <termios.h>]],
-[[/* SunOS 4.0.3 has termios.h but not the library calls. */
-tcgetattr(0, 0);]])],
-nmh_cv_sys_posix_termios=yes, nmh_cv_sys_posix_termios=no)])
-
-if test $nmh_cv_sys_posix_termios = yes; then
- AC_CACHE_CHECK(TIOCGWINSZ in termios.h,
- nmh_cv_header_termios_h_tiocgwinsz,
- [AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include <sys/types.h>
-#include <termios.h>]],
- [[int x = TIOCGWINSZ;]])],
- nmh_cv_header_termios_h_tiocgwinsz=yes,nmh_cv_header_termios_h_tiocgwinsz=no)])
-else
- nmh_cv_header_termios_h_tiocgwinsz=no
-fi
-
-if test $nmh_cv_header_termios_h_tiocgwinsz = no; then
- AC_CACHE_CHECK(TIOCGWINSZ in sys/ioctl.h,
- nmh_cv_header_sys_ioctl_h_tiocgwinsz,
- [AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include <sys/types.h>
-#include <sys/ioctl.h>]],
- [[int x = TIOCGWINSZ;]])],
- nmh_cv_header_sys_ioctl_h_tiocgwinsz=yes,nmh_cv_header_sys_ioctl_h_tiocgwinsz=no)])
- if test $nmh_cv_header_sys_ioctl_h_tiocgwinsz = yes; then
- AC_DEFINE(GWINSZ_IN_SYS_IOCTL)dnl
- fi
-fi
dnl
dnl Checks for _IO_write_ptr. A Linuxism used by nmh on linux. We
dnl
AC_CHECK_HEADER(libio.h, [
AC_EGREP_HEADER(_IO_write_ptr, libio.h, [
- AC_DEFINE(LINUX_STDIO) ]) ])
+ AC_DEFINE(LINUX_STDIO,1,[Use the Linux _IO_*_ptr defines from <libio.h>.]) ]) ])
-AC_CHECK_HEADER([sys/ptem.h], AC_DEFINE(WINSIZE_IN_PTEM),,
+AC_CHECK_HEADER([sys/ptem.h], AC_DEFINE(WINSIZE_IN_PTEM,1,
+ [Define to 1 if `struct winsize' requires <sys/ptem.h>.]),,
[[#if HAVE_SYS_STREAM_H
# include <sys/stream.h>
#endif
AC_CHECK_LIB(mkstemp,mkstemp)
AC_CHECK_FUNCS(waitpid wait3 sigaction sigprocmask sigblock sigsetmask \
sighold sigrelse writev lstat uname tzset killpg mkstemp \
- sethostent getutent nl_langinfo mbtowc wcwidth)
+ getutent nl_langinfo mbtowc wcwidth)
-dnl solaris screws this up
-AC_CHECK_FUNC(gethostbyname, [AC_DEFINE(HAVE_GETHOSTBYNAME)],
- AC_CHECK_LIB(nsl, gethostbyname, [AC_DEFINE(HAVE_GETHOSTBYNAME)] ) )
+dnl solaris has these in the nsl library
+AC_SEARCH_LIBS(gethostbyname, nsl,
+ [AC_DEFINE(HAVE_GETHOSTBYNAME,1,
+ [Define to 1 if you have the `gethostbyname' function.])])
+AC_SEARCH_LIBS(sethostent, nsl,
+ [AC_DEFINE(HAVE_SETHOSTENT,1,
+ [Define to 1 if you have the `sethostent' function.])])
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) AC_MSG_RESULT(yes)],
+ [[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)
dnl
dnl On Solaris 2.[456], the declaration is in <grp.h>. On HP-UX 9-11 and
dnl (reportedly) FreeBSD 3.[23], it's in <unistd.h>. Any other locations we
-dnl need to check?
+dnl need to check?
+AH_TEMPLATE(INITGROUPS_HEADER, [Define to the header containing the declaration of `initgroups'.])
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 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))
+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
AC_DEFINE(MULTIBYTE_SUPPORT, 1,
- [Define to enable support for multibyte character sets])
+ [Define to enable support for multibyte character sets.])
fi
dnl -------------------
else
dnl Now export the lib/header to our makefile/config.h:
if test x"$nmh_ndbmheader" != x; then
- AC_DEFINE_UNQUOTED(NDBM_HEADER, <$nmh_ndbmheader>)
+ AC_DEFINE_UNQUOTED(NDBM_HEADER, <$nmh_ndbmheader>,
+ [Define to the header containing the ndbm API prototypes.])
fi
if test x"$nmh_ndbm" != x; then
NDBM_LIBS="-l$nmh_ndbm"
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)
+ AC_DEFINE(MUST_DEFINE_OSPEED, 1,
+ [Define to 1 if you have ospeed, but it is not defined in termcap.h.])
fi
-dnl dnl Checks if tgetent accepts NULL and will
-dnl dnl allocate its own termcap buffer.
-dnl AC_CACHE_CHECK(if tgetent accepts NULL,
-dnl nmh_cv_func_tgetent_accepts_null,
-dnl [AC_TRY_RUN([main(){int i = tgetent((char*)0,"vt100");exit(!i || i == -1);}],
-dnl nmh_cv_func_tgetent_accepts_null=yes,
-dnl nmh_cv_func_tgetent_accepts_null=no,
-dnl nmh_cv_func_tgetent_accepts_null=no)])
-dnl if test $nmh_cv_func_tgetent_accepts_null = yes; then
-dnl AC_DEFINE(TGETENT_ACCEPTS_NULL)
-dnl 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().
+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.
#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)
+ AC_DEFINE(sigset_t, unsigned int,
+ [Define to `unsigned int' if <sys/types.h> or <signal.h> doesn't define.])
fi
dnl ----------------
dnl ----------------
AC_CHECK_MEMBERS(struct stat.st_blksize)
-AC_CACHE_CHECK(for tm_gmtoff in struct tm, nmh_cv_struct_tm_gmtoff,
-[AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#ifdef TIME_WITH_SYS_TIME
+AC_CHECK_MEMBERS(struct tm.tm_gmtoff,,,
+ [#ifdef TIME_WITH_SYS_TIME
# include <sys/time.h>
# include <time.h>
#else
# else
# include <time.h>
# endif
-#endif]], [[struct tm temptm; temptm.tm_gmtoff = 0;]])],
-nmh_cv_struct_tm_gmtoff=yes,nmh_cv_struct_tm_gmtoff=no)])
-if test $nmh_cv_struct_tm_gmtoff = yes; then
- AC_DEFINE(HAVE_TM_GMTOFF)
-fi
-
-AC_CACHE_CHECK(for ut_type in struct utmp, nmh_cv_struct_utmp_ut_type,
-[AC_TRY_COMPILE(
-[#include <utmp.h>],
-[struct utmp temputmp; temputmp.ut_type = 0;],
- nmh_cv_struct_utmp_ut_type=yes, nmh_cv_struct_utmp_ut_type=no)])
-if test $nmh_cv_struct_utmp_ut_type = yes; then
- AC_DEFINE(HAVE_UTMP_UT_TYPE)
+#endif])
+
+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)
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)
+ 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)
+ 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)
+ 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)
+ AC_DEFINE(NO_SIGNAL_BLOCKING,1,
+ [Define to 1 if you have no signal blocking at all (bummer).])
fi
AC_MSG_RESULT($signals_style)
dnl ----------------
dnl OS SPECIFIC DEFINES
dnl ----------------
+AH_TEMPLATE(SYS5, [Defined for Solaris 2.x, Irix, OSF/1, HP-UX, AIX, SCO5; only used in vmh.c which is not built.])
+AH_TEMPLATE(SVR4, [Defined for Solaris 2.x, Irix, OSF/1, HP-UX, AIX; only used in vmh.c which is not built.])
+AH_TEMPLATE(BSD44, [Defined for SunOS 4, FreeBSD, NetBSD, OpenBSD, BSD/OS, Mac OS X/Rhapsody; only used in vmh.c which is not built.])
+AH_TEMPLATE(BSD42, [Defined for SunOS 4, FreeBSD, NetBSD, OpenBSD, BSD/OS, Mac OS X/Rhapsody -- does PicoBSD have uname?])
+AH_TEMPLATE(SCO_5_STDIO, [Defined for SCO5.])
+
case "$target_os" in
solaris2*)