dnl
dnl configure.in -- autoconf template for nmh
dnl
dnl $Id$
dnl
AC_INIT(h/nmh.h)
AC_CONFIG_HEADER(config.h)
AC_CANONICAL_SYSTEM
dnl ---------------------
dnl define a macro or two
dnl ---------------------
AC_DEFUN(NMH_PROG_GNU_LIBTOOL, [
if test -n "$LIBTOOL" ; then
tmptest=`$LIBTOOL --version 2>&1 | grep GNU`
if test x"$tmptest" != x ; then
GNU_LIBTOOL=1
AC_SUBST(GNU_LIBTOOL)dnl
fi
fi
] )
dnl What version of nmh are we building?
VERSION=`sed -e 's/nmh-//' ${srcdir}/VERSION`
echo "configuring for nmh-$VERSION"
AC_SUBST(VERSION)dnl
dnl --------------------------
dnl CHECK COMMAND LINE OPTIONS
dnl --------------------------
dnl Do you want client-side support for apop?
AC_ARG_ENABLE(apop,
[ --enable-apop enable client-side support for POP3 and APOP])
if test x"$enable_apop" = x"yes"; then
AC_DEFINE(APOP)dnl
APOPLIB=md5.o
enable_pop=yes
fi
AC_SUBST(APOPLIB)dnl
dnl Do you want to debug nmh?
undefine([debug])dnl
AC_ARG_ENABLE(debug,
[ --enable-debug enable nmh code debugging])
dnl The old redundant --enable-nmh-debug is deprecated and undocumented.
if test x"$enable_nmh_debug" = x"yes"; then
enable_debug=yes
fi
dnl Set the backup prefix
undefine([backup-prefix])dnl
AC_ARG_WITH([hash-backup],
[ --with-hash-backup use # as the backup prefix (default: ,)])
if test x"$with_hash_backup" != x -a x"$with_hash_backup" != x"no"; then
backup_prefix="#"
else
backup_prefix=","
fi
AC_DEFINE_UNQUOTED(BACKUP_PREFIX, "$backup_prefix")dnl
dnl Allow users to send email from addresses other than their default?
undefine([masquerade])dnl
AC_ARG_ENABLE(masquerade,
[ --enable-masquerade[='draft_from mmailid username_extension']
enable up to 3 types of address masquerading [none]],
[if test x"$enable_masquerade" = x"yes"; then
masquerade="draft_from mmailid username_extension"
else
masquerade="$enable_masquerade"
fi])
AC_SUBST(masquerade)dnl
dnl Do you want mhe support?
undefine([mhe])dnl
AC_ARG_ENABLE(mhe,
[ --enable-mhe enable mhe support (DEFAULT)])
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
fi
dnl Do you want client-side support for pop?
undefine([pop])dnl
AC_ARG_ENABLE(pop,
[ --enable-pop enable client-side support for plain POP3])
dnl The old redundant --enable-nmh-pop is deprecated and undocumented.
if test x"$enable_nmh_pop" = x"yes"; then
enable_pop=yes
fi
dnl Do you want support for hesiod
AC_ARG_WITH(hesiod,
[ --with-hesiod=PREFIX specify location of Hesiod])
if test x"$with_hesiod" != x -a x"$with_hesiod" != x"no"; then
AC_DEFINE(HESIOD)dnl
fi
dnl Do you want client-side support for kpop
AC_ARG_WITH(krb4,
[ --with-krb4=PREFIX 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
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
POPLIB=popsbr.o
POPSED='/^%nmhbeginpop%/d;/^%nmhendpop%/d'
else
POPSED='/^%nmhbeginpop%/,/^%nmhendpop%/d'
fi
AC_SUBST(POPLIB)dnl
AC_SUBST(POPSED)dnl
dnl What should be the default editor?
undefine([editor])dnl
AC_ARG_WITH(editor,
[ --with-editor=EDITOR specify the default editor])
if test -n "$with_editor"; then
editorpath="$with_editor"
fi
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,
[ --with-cyrus-sasl=
Specify location of Cyrus SASL library for auth])
if test x"$with_cyrus_sasl" != x -a x"$with_cyrus_sasl" != "no"; then
AC_DEFINE(CYRUS_SASL)dnl
fi
dnl What method of posting should post use?
undefine([mts])dnl
AC_ARG_WITH(mts,
[ --with-mts=MTS specify the default mail transport agent/service])
if test x"$with_mts" = x"smtp"; then
MTS="smtp"
elif test x"$with_mts" = x"sendmail"; then
MTS="sendmail"
else
MTS="smtp"
fi
AC_SUBST(MTS)dnl
dnl Both the smtp and sendmail mail transport services use the smtp code
AC_DEFINE(SMTPMTS)dnl
dnl What should be the default pager?
undefine([pager])dnl
AC_ARG_WITH(pager,
[ --with-pager=PAGER specify the default pager])
if test -n "$with_pager"; then
pagerpath="$with_pager"
fi
dnl What should be the default mail server(s)?
undefine([smtpservers])dnl
AC_ARG_WITH(smtpservers,
[ --with-smtpservers='SMTPSERVER1[ SMTPSERVER2...]'
specify the default SMTP server(s) [localhost]])
if test -n "$with_smtpservers"; then
smtpservers="$with_smtpservers"
else
smtpservers="localhost"
fi
AC_SUBST(smtpservers)dnl
dnl ----------------------------------------------------
dnl Default location is /usr/local/nmh/{bin,etc,lib,man}
dnl ----------------------------------------------------
AC_PREFIX_DEFAULT(/usr/local/nmh)
dnl ------------------
dnl CHECK THE COMPILER
dnl ------------------
dnl We want these before the checks,
dnl so the checks can modify their values.
test -z "$CFLAGS" && CFLAGS= auto_cflags=1
if test x"$enable_debug" = x"yes"; then
test -z "$LDFLAGS" && LDFLAGS=-g
fi
AC_PROG_CC
dnl if the user hasn't specified CFLAGS, then
dnl if compiler is gcc, then
dnl use -O2 and some warning flags
dnl else use -O
if test -n "$auto_cflags"; then
if test x"$enable_debug" = x"yes"; then
if test -n "$GCC"; then
test -z "$CFLAGS" && CFLAGS="-Wall -g" || CFLAGS="$CFLAGS -Wall -g"
else
test -z "$CFLAGS" && CFLAGS=-g || CFLAGS="$CFLAGS -g"
fi
else
test -z "$LDFLAGS" && LDFLAGS=-s
if test -n "$GCC"; then
test -z "$CFLAGS" && CFLAGS="-Wall -O2" || CFLAGS="$CFLAGS -Wall -O2"
else
test -z "$CFLAGS" && CFLAGS=-O || CFLAGS="$CFLAGS -O"
fi
fi
fi
AC_C_CONST dnl Does compiler support `const'.
dnl ------------------
dnl CHECK FOR PROGRAMS
dnl ------------------
AC_PROG_MAKE_SET dnl Does make define $MAKE
AC_PROG_INSTALL dnl Check for BSD compatible `install'
AC_PROG_RANLIB dnl Check for `ranlib'
AC_PROG_AWK dnl Check for mawk,gawk,nawk, then awk
AC_PROG_LEX dnl Check for lex/flex
dnl Look for `cut'
pathtmp=/usr/bin:/bin:/usr/local/bin:/usr/xpg4/bin:/usr/ucb
AC_PATH_PROG(cutpath, cut, no, [$pathtmp])
dnl ----------------------------------------------
dnl check for lclint, and lint if it doesn't exist
dnl ----------------------------------------------
AC_CHECK_PROG(linttmp1, lclint, lclint, no)dnl
if test x$ac_cv_prog_linttmp1 != xno ; then
LINT=$ac_cv_prog_linttmp1
LINTFLAGS="-weak +posixlib -macrovarprefixexclude"
else
AC_CHECK_PROG(linttmp2, lint, lint, no)dnl
if test x$ac_cv_prog_linttmp2 != xno ; then
LINT=$ac_cv_prog_linttmp2
LINTFLAGS=""
else
LINT="echo 'No lint program found'"
LINTFLAGS=""
fi
fi
AC_SUBST(LINT)
AC_SUBST(LINTFLAGS)
dnl try to figure out which one we've got
AC_CHECK_PROG(LIBTOOL, libtool, libtool, , [$pathtmp])
NMH_PROG_GNU_LIBTOOL
dnl Check for lorder and tsort commands
AC_CHECK_PROG(LORDER, lorder, lorder, no)dnl
AC_CHECK_PROG(TSORT, tsort, tsort, no)dnl
dnl If either doesn't exist, replace them with echo and cat
if test x$ac_cv_prog_LORDER != xlorder -o x$ac_cv_prog_TSORT != xtsort; then
LORDER=echo
TSORT=cat
AC_SUBST(LORDER)dnl
AC_SUBST(TSORT)dnl
dnl Mac OS X has lorder, but sh is too broken for it to work
dnl elif test -z "`lorder config/config.c 2>&1 | grep config/config.c`" ; then
dnl LORDER=echo
dnl TSORT=cat
dnl AC_SUBST(LORDER)dnl
dnl AC_SUBST(TSORT)dnl
fi
dnl Check whether tsort can deal with loops
AC_CACHE_CHECK(whether tsort can deal with loops, nmh_cv_tsort_loop,
[if test -z "`echo a b b a | tsort 2>/dev/null | grep a`" ; then
nmh_cv_tsort_loop=no
else
nmh_cv_tsort_loop=yes
fi])
if test x$nmh_cv_tsort_loop = xno ; then
LORDER=echo
TSORT=cat
AC_SUBST(LORDER)dnl
AC_SUBST(TSORT)dnl
fi
dnl Look for `ls'
pathtmp=/usr/bin:/bin:/usr/local/bin:/usr/xpg4/bin:/usr/ucb
AC_PATH_PROG(lspath, ls, no, [$pathtmp])
dnl See how we get ls to display the owner and the group
if test "$lspath" != "no"; then
AC_CACHE_CHECK(how to get ls to show us the group ownership of a file,
nmh_cv_ls_grpopt,
[if test x"`$lspath -dl / | $AWK '{print $9}'`" = x"/"; then
dnl There were 9 parameters, so unless this is a really bizarre, nonstandard
dnl ls, it would seem -l gave us both the user and group. On this type of
dnl ls, -g makes _only_ the group be displayed (and not the user).
nmh_cv_ls_grpopt="-l"
else
dnl Looks like -l only gave us the user, so we need -g to get the group too.
nmh_cv_ls_grpopt="-lg"
fi])
fi
dnl Look for `more'
pathtmp=/usr/bin:/bin:/usr/ucb:/usr/local/bin
AC_PATH_PROG(morepath, more, no, [$pathtmp])
dnl If pager is not specified yet,
dnl then use `more' as the default.
if test -z "$pagerpath"; then
pagerpath="$morepath"
fi
AC_SUBST(pagerpath)dnl
dnl Look for `sendmail'
pathtmp=/usr/lib:/usr/sbin:/usr/etc:/usr/ucblib:/usr/bin:/bin
AC_PATH_PROG(sendmailpath, sendmail, no, [$pathtmp])
dnl Look for `vi'
pathtmp=/usr/bin:/bin:/usr/ucb:/usr/local/bin
AC_PATH_PROG(vipath, vi, no, [$pathtmp])
dnl If editor is not specified yet,
dnl then use `vi' as the default.
if test -z "$editorpath"; then
editorpath="$vipath"
fi
AC_SUBST(editorpath)dnl
dnl Check for broken vi
AC_CACHE_CHECK(for broken vi, nmh_cv_attvibug,
[if echo 'r /nonexist-file
q' | ex > /dev/null 2>&1
then
nmh_cv_attvibug=no
else
nmh_cv_attvibug=yes
fi])
if test "$nmh_cv_attvibug" = yes; then
AC_DEFINE(ATTVIBUG)dnl
fi
dnl ----------------------------------------------------------
dnl FIND MAIL SPOOL AND SEE IF WE NEED TO MAKE inc SETGID MAIL
dnl ----------------------------------------------------------
AC_CACHE_CHECK(where mail spool is located, nmh_cv_mailspool,
[for mailspool in /var/mail dnl
/var/spool/mail dnl
/usr/spool/mail dnl
/dev/null; dnl Just in case we fall through
do
test -d $mailspool && break
done
nmh_cv_mailspool=$mailspool
])
mailspool=$nmh_cv_mailspool
AC_SUBST(mailspool)dnl
dnl See whether the mail spool directory is world-writable.
if test "$lspath" != "no" -a "$cutpath" != "no"; then
AC_CACHE_CHECK(whether the mail spool is world-writable,
nmh_cv_mailspool_world_writable,
[if test "`$lspath -dlL $mailspool | $cutpath -c9`" = "-"; then
nmh_cv_mailspool_world_writable=no
else
nmh_cv_mailspool_world_writable=yes
fi])
fi
dnl Also, check for liblockfile (as found on Debian systems)
AC_CHECK_HEADER(lockfile.h, AC_CHECK_LIB(lockfile, lockfile_create) )
dnl and whether its companion program dotlockfile is setgid
AC_PATH_PROG(dotlockfilepath, dotlockfile, no)
if test "$ac_cv_lib_lockfile_lockfile_create" != "no" ; then
if test "$ac_cv_path_dotlockfilepath" != "no" ; then
AC_CACHE_CHECK(whether dotlockfile is setgid, nmh_cv_dotlockfile_setgid,
[ if test -g "$ac_cv_path_dotlockfilepath" ; then
nmh_cv_dotlockfile_setgid=yes
else
nmh_cv_dotlockfile_setgid=no
fi])
fi
fi
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"$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
SETGID_MAIL=1
fi
AC_SUBST(SETGID_MAIL)dnl
dnl Use ls to see which group owns the mail spool directory.
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 HEADER FILES
dnl ------------------
AC_HEADER_DIRENT
AC_HEADER_STDC
AC_HEADER_TIME
AC_HEADER_SYS_WAIT
AC_HEADER_STAT
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 \
netdb.h sys/param.h sys/time.h sys/utsname.h arpa/inet.h \
arpa/ftp.h)
AC_CACHE_CHECK(POSIX termios, nmh_cv_sys_posix_termios,
[AC_TRY_LINK([#include
#include
#include ],
[/* 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_TRY_LINK([#include
#include ],
[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_TRY_LINK([#include
#include ],
[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)
fi
fi
dnl
dnl Checks for _IO_write_ptr. A Linuxism used by nmh on linux. We
dnl really use a whole set of them, but this check should be
dnl sufficient.
dnl
AC_CHECK_HEADER(libio.h, [
AC_EGREP_HEADER(_IO_write_ptr, libio.h, [
AC_DEFINE(LINUX_STDIO) ]) ])
AC_CHECK_HEADER([sys/ptem.h], AC_DEFINE(WINSIZE_IN_PTEM))
dnl ---------------
dnl CHECK FUNCTIONS
dnl ---------------
AC_FUNC_VFORK
AC_CHECK_LIB(mkstemp,mkstemp)
AC_CHECK_FUNCS(waitpid wait3 sigaction sigprocmask sigblock sigsetmask \
sighold sigrelse writev lstat uname tzset killpg mkstemp \
sethostent getutent)
dnl solaris screws this up
AC_CHECK_FUNC(gethostbyname, [AC_DEFINE(HAVE_GETHOSTBYNAME)],
AC_CHECK_LIB(nsl, gethostbyname, [AC_DEFINE(HAVE_GETHOSTBYNAME)] ) )
dnl sigsetjmp may be a macro
AC_MSG_CHECKING(for sigsetjmp)
AC_TRY_LINK([#include ], [sigsetjmp((void *)0, 0);],
[AC_DEFINE(HAVE_SIGSETJMP) AC_MSG_RESULT(yes)], AC_MSG_RESULT(no))
AC_REPLACE_FUNCS(snprintf strerror strdup)
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
dnl any system header.
dnl
dnl On Solaris 2.[456], the declaration is in . On HP-UX 9-11 and
dnl (reportedly) FreeBSD 3.[23], it's in . Any other locations we
dnl need to check?
AC_EGREP_HEADER(initgroups, grp.h, AC_DEFINE(INITGROUPS_HEADER, ),
AC_EGREP_HEADER(initgroups, unistd.h,
AC_DEFINE(INITGROUPS_HEADER, )))
dnl On AIX 4.1, snprintf() is defined in libc.a but there's no prototype in
dnl 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))
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)
AC_CHECK_NETLIBS
termcap_curses_order="termcap curses ncurses"
for lib in $termcap_curses_order; do
AC_CHECK_LIB(${lib}, tgetent, [TERMLIB="-l$lib"; break])
done
AC_SUBST(TERMLIB)dnl
dnl --------------
dnl CHECK FOR NDBM
dnl --------------
dnl Checks for ndbm
AC_CHECK_FUNC(dbm_open, ,
AC_CHECK_LIB(ndbm, dbm_open, ,
AC_CHECK_LIB(dbm, dbm_open)))
dnl ----------------
dnl CHECK FOR NDBM.H
dnl ----------------
AC_CHECK_HEADERS(db1/ndbm.h)
dnl ----------------
dnl CHECK FOR HESIOD
dnl ----------------
if test x"$with_hesiod" != x -a x"$with_hesiod" != x"no"; then
if test x"$with_hesiod" != x"yes"; then
HESIOD_INCLUDES="-I$with_hesiod/include"
HESIOD_LIBS="-L$with_hesiod/lib"
fi
AC_CHECK_FUNC(res_send, ,
AC_CHECK_LIB(resolv, res_send))
AC_CHECK_LIB(hesiod, hes_resolve, [HESIOD_LIBS="$HESIOD_LIBS -lhesiod"],
[AC_MSG_ERROR(Hesiod library not found)], $HESIOD_LIBS)
fi
AC_SUBST(HESIOD_INCLUDES)dnl
AC_SUBST(HESIOD_LIBS)dnl
dnl ----------------------------------
dnl CHECK FOR KRB4 (Kerberos4 support)
dnl ----------------------------------
if test x"$with_krb4" != x -a x"$with_krb4" != x"no"; then
if test x"$with_krb4" != x"yes"; then
KRB4_INCLUDES="-I$with_krb4/include"
if test -d "$with_krb4/include/kerberosIV"; then
KRB4_INCLUDES="$KRB4_INCLUDES -I$with_krb4/include/kerberosIV"
fi
KRB4_LIBS="-L$with_krb4/lib"
elif test -d /usr/include/kerberosIV; then
KRB4_INCLUDES="-I/usr/include/kerberosIV"
fi
AC_CHECK_LIB(krb4, krb_rd_req,
[KRB4_LIBS="$KRB4_LIBS -lkrb4 -ldes425 -lkrb5 -lcrypto -lcom_err"],
[AC_CHECK_LIB(krb, krb_rd_req,
[KRB4_LIBS="$KRB4_LIBS -lkrb -ldes"],
[AC_MSG_ERROR(Kerberos 4 libraries not found)],
$KRB4_LIBS -ldes)],
$KRB4_LIBS -ldes425 -lkrb5 -lcrypto -lcom_err)
fi
AC_SUBST(KRB4_INCLUDES)dnl
AC_SUBST(KRB4_LIBS)dnl
dnl --------------------
dnl CHECK FOR CYRUS SASL
dnl --------------------
if test x"$with_cyrus_sasl" != x -a x"$with_cyrus_sasl" != "no"; then
if test x"$with_cyrus_sasl" != x"yes"; then
SASL_INCLUDES="-I$with_cyrus_sasl/include"
SASL_LIBS="-L$with_cyrus_sasl/lib"
fi
save_LDFLAGS="$LDFLAGS"
LDFLAGS="$LDFLAGS $SASL_LIBS"
AC_CHECK_LIB(sasl, sasl_client_new,
[SASL_LIBS="$SASL_LIBS -lsasl"],
[AC_MSG_ERROR(Cyrus SASL library not found)])
LDFLAGS="$save_LDFLAGS"
fi
AC_SUBST(SASL_INCLUDES)dnl
AC_SUBST(SASL_LIBS)dnl
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 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_TRY_LINK(
[#include
#if HAVE_TERMIOS_H
#include
#endif
#if HAVE_TERMCAP_H
#include
#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_TRY_LINK( ,[extern short ospeed; ospeed = 0;],
nmh_cv_decl_ospeed_must_define=yes,
nmh_cv_decl_ospeed_must_define=no)])
fi
if test $nmh_cv_decl_ospeed_include_defines = yes; then
AC_DEFINE(HAVE_OSPEED)
elif test $nmh_cv_decl_ospeed_must_define = yes; then
AC_DEFINE(HAVE_OSPEED)
AC_DEFINE(MUST_DEFINE_OSPEED)
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 Now put the libraries back to what it was before we
dnl starting checking the termcap library.
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 and . Others might need
dnl to be added.
AC_CACHE_CHECK(for sigset_t, nmh_cv_type_sigset_t,
[AC_TRY_COMPILE(
[#include
#include ], [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)
fi
dnl ----------------
dnl CHECK STRUCTURES
dnl ----------------
AC_STRUCT_ST_BLKSIZE
AC_CACHE_CHECK(for tm_gmtoff in struct tm, nmh_cv_struct_tm_gmtoff,
[AC_TRY_COMPILE(
[#ifdef TIME_WITH_SYS_TIME
# include
# include
#else
# ifdef TM_IN_SYS_TIME
# include
# else
# include
# 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
dnl -------------
dnl CHECK SIGNALS
dnl -------------
dnl What style of signal do you have (POSIX, BSD, or SYSV)?
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(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(RELIABLE_SIGNALS)
elif test $ac_cv_func_sighold = yes -a $ac_cv_func_sigrelse = yes; then
signals_style=SYSV_SIGNALS
AC_DEFINE(SYSV_SIGNALS)
else
signals_style=NO_SIGNAL_BLOCKING
AC_DEFINE(NO_SIGNAL_BLOCKING)
fi
AC_MSG_RESULT($signals_style)
dnl Where is located? Needed as input for signames.awk
AC_CACHE_CHECK(where signal.h is located, nmh_cv_path_signal_h,
[for SIGNAL_H in /usr/include/bsd/sys/signal.h dnl Next
/usr/include/asm/signal.h dnl Linux 1.3.0 and above
/usr/include/asm/signum.h dnl some versions of Linux/Alpha
/usr/include/linux/signal.h dnl Linux up to 1.2.11
/usr/include/sys/signal.h dnl Almost everybody else
/dev/null; dnl Just in case we fall through
do
test -f $SIGNAL_H && \
grep '#[ ]*define[ ][ ]*SIG[0-9A-Z]*[ ]*[0-9][0-9]*' $SIGNAL_H > /dev/null && \
break
done
nmh_cv_path_signal_h=$SIGNAL_H
])
SIGNAL_H=$nmh_cv_path_signal_h
AC_SUBST(SIGNAL_H)dnl
dnl ----------------
dnl OS SPECIFIC DEFINES
dnl ----------------
case "$target_os" in
solaris2*)
AC_DEFINE(SYS5)
AC_DEFINE(SVR4)
;;
irix*)
AC_DEFINE(SYS5)
AC_DEFINE(SVR4)
;;
osf*)
AC_DEFINE(SYS5)
AC_DEFINE(SVR4)
;;
aix*)
AC_DEFINE(SYS5)
AC_DEFINE(SVR4)
;;
sunos4*)
AC_DEFINE(BSD42)
;;
freebsd*)
AC_DEFINE(BSD42)
AC_DEFINE(BSD44)
;;
netbsd*)
AC_DEFINE(BSD42)
AC_DEFINE(BSD44)
;;
openbsd*)
AC_DEFINE(BSD42)
AC_DEFINE(BSD44)
;;
bsd/os*)
AC_DEFINE(BSD42)
AC_DEFINE(BSD44)
;;
sco5*)
AC_DEFINE(SYS5)
AC_DEFINE(SCO_5_STDIO)
;;
esac
dnl ----------------
dnl OUTPUT MAKEFILES
dnl ----------------
AC_OUTPUT(Makefile config/Makefile h/Makefile sbr/Makefile uip/Makefile \
zotnet/Makefile zotnet/mts/Makefile \
mts/Makefile mts/smtp/Makefile \
mts/sendmail/Makefile mts/mmdf/Makefile etc/Makefile \
docs/Makefile man/Makefile, \
[test -z "$CONFIG_HEADERS" || echo > stamp-h])
dnl Umm, what's the point of these assignments?? --
eval "nmhbin=${bindir}"; eval "nmhbin2=${nmhbin}"
eval "nmhsysconf=${sysconfdir}"; eval "nmhsysconf2=${nmhsysconf}"
eval "nmhlib=${libdir}"; eval "nmhlib2=${nmhlib}"
eval "nmhman=${mandir}"
pop_kinds=no
if test x"$enable_pop" = x"yes"; then
pop_kinds="yes ("
if test x"$enable_apop" = x"yes"; then
pop_kinds="${pop_kinds}APOP "
fi
if test x"$with_krb4" != x -a x"$with_krb4" != x"no"; then
pop_kinds="${pop_kinds}KPOP "
fi
pop_kinds="${pop_kinds}POP3)"
fi
echo "
nmh configuration
-----------------
nmh version : ${VERSION}
target os : ${target}
compiler : ${CC}
compiler flags : ${CFLAGS}
linker flags : ${LDFLAGS}
source code location : ${srcdir}
binary install path : ${nmhbin2}
libary install path : ${nmhlib2}
config files install path : ${nmhsysconf2}
man page install path : ${nmhman}
backup prefix : ${backup_prefix}
transport system : ${MTS}
default smtp servers : ${smtpservers}
default editor : ${editorpath}
default pager : ${pagerpath}
email address masquerading : ${masquerade}
pop is enabled : ${pop_kinds}"
echo ""