X-Git-Url: http://git.marmaro.de/?p=mmh;a=blobdiff_plain;f=configure.in;h=35c22129a590f05110ce6d428efb92da4604f1e2;hp=63274ce3f0d5170e959a623791619929384cf549;hb=e001a96010a62d4bd79a33955bb29e3c18bb26fe;hpb=0ccd1945560c715e4cc4063209bd0d68b75d5470 diff --git a/configure.in b/configure.in index 63274ce..35c2212 100644 --- a/configure.in +++ b/configure.in @@ -9,6 +9,19 @@ AC_CONFIG_HEADER(config.h) AC_CANONICAL_SYSTEM +dnl --------------------- +dnl define a macro or two +dnl --------------------- + +AC_DEFUN(NMH_PROG_GNU_LIBTOOL, [ + tmptest=`$LIBTOOL --version 2>&1 | grep GNU` + if test x"$tmptest" != x ; then + GNU_LIBTOOL=1 + AC_SUBST(GNU_LIBTOOL) + fi +] ) + + dnl What version of nmh are we building? VERSION=`sed -e 's/nmh-//' ${srcdir}/VERSION` echo "configuring for nmh-$VERSION" @@ -151,6 +164,15 @@ 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 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 @@ -161,11 +183,32 @@ if test x$ac_cv_prog_LORDER != xlorder -o x$ac_cv_prog_TSORT != xtsort; then 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 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 `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 @@ -178,6 +221,10 @@ if test -z "$pagerpath"; then 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]) @@ -203,9 +250,9 @@ if test "$nmh_cv_attvibug" = yes; then AC_DEFINE(ATTVIBUG) fi -dnl --------------- -dnl FIND MAIL SPOOL -dnl --------------- +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 @@ -219,6 +266,39 @@ 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 ...If it's not, we need to #define MAILGROUP to 1 and make inc setgid. +if test x"$nmh_cv_mailspool_world_writable" = x"no"; then + dnl do we really need both of these? + AC_DEFINE(MAILGROUP) + SETGID_MAIL=1 +fi +AC_SUBST(SETGID_MAIL)dnl + +dnl see if we can determine which group owns the mail spool dir +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}'` + dnl Should we just set it to whatever ls reports, rather than only allowing + dnl certain values...? + if test x$nmh_cv_ls_mail_grp = xmail; then + MAIL_SPOOL_GRP="mail" + elif test x$nmh_cv_ls_mail_grp = xwheel; then + MAIL_SPOOL_GRP="wheel" + else + MAIL_SPOOL_GRP="'0'" + fi]) +AC_SUBST(MAIL_SPOOL_GRP)dnl + dnl ------------------ dnl CHECK HEADER FILES dnl ------------------ @@ -229,9 +309,10 @@ 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 \ - sys/param.h sys/time.h sys/utsname.h arpa/inet.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 @@ -265,6 +346,15 @@ if test $nmh_cv_header_termios_h_tiocgwinsz = no; then 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 --------------- @@ -273,7 +363,12 @@ 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) + sighold sigrelse writev lstat uname tzset killpg mkstemp \ + sethostent) + +dnl solaris screws ths 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) @@ -311,6 +406,11 @@ AC_CHECK_FUNC(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 != xno; then @@ -512,29 +612,21 @@ case "$target_os" in AC_DEFINE(SVR4) ;; sunos4*) - AC_DEFINE(BIND) AC_DEFINE(BSD42) ;; - linux*) - AC_DEFINE(LINUX_STDIO) - ;; freebsd*) - AC_DEFINE(BIND) AC_DEFINE(BSD42) AC_DEFINE(BSD44) ;; netbsd*) - AC_DEFINE(BIND) AC_DEFINE(BSD42) AC_DEFINE(BSD44) ;; openbsd*) - AC_DEFINE(BIND) AC_DEFINE(BSD42) AC_DEFINE(BSD44) ;; bsd/os*) - AC_DEFINE(BIND) AC_DEFINE(BSD42) AC_DEFINE(BSD44) ;;