X-Git-Url: http://git.marmaro.de/?p=mmh;a=blobdiff_plain;f=configure.in;h=35c22129a590f05110ce6d428efb92da4604f1e2;hp=c153c944ff50d3594f9137fbf3fb3d1b95232794;hb=e001a96010a62d4bd79a33955bb29e3c18bb26fe;hpb=045b9601403a216c400642229f2b291f85f88f7d diff --git a/configure.in b/configure.in index c153c94..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" @@ -155,6 +168,11 @@ 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 @@ -165,12 +183,33 @@ 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 `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]) @@ -231,34 +270,35 @@ 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 -dl $mailspool | $cutpath -c9`" = "-"; then + [if test "`$lspath -dlL $mailspool | $cutpath -c9`" = "-"; then nmh_cv_mailspool_world_writable=no else nmh_cv_mailspool_world_writable=yes fi]) fi -dnl see if we can determine which group owns the mail spool dir -undefine([nmh_grp_mailspool])dnl -AC_CACHE_CHECK(what group owns the mail spool, nmh_group_mailspool, -[ nmh_group_mailspool=`ls -lgd $mailspool | awk '{print $4}'` - if test x$nmh_group_mailspool = xmail; then - MAILGROUP="mail" - elif test x$nmh_group_mailspool = xwheel; then - MAILGROUP="wheel" - else - MAILGROUP="'0'" - fi]) -AC_SUBST(MAILGROUP) - -dnl ...If it's not, we need to #define MAILGROUP to 1 and make inc setgid mail. -if test "$nmh_cv_mailspool_world_writable" = "no"; then -dnl do we really need both of these? +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 ------------------ @@ -269,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 @@ -305,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 --------------- @@ -313,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) @@ -351,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 @@ -552,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) ;;