X-Git-Url: http://git.marmaro.de/?a=blobdiff_plain;f=configure.in;h=a5cac97eddb3dc015147b93befc3cbf51c731104;hb=1e6e0b5cc1bd2d49ffcef4ea7bb1bb6c256d07b7;hp=14690b60fb4d050e787ac0b58443bbb9d980f1ad;hpb=58653b7e9a9f44dc35a4d0f0a8584f425f14fb0c;p=mmh diff --git a/configure.in b/configure.in index 14690b6..a5cac97 100644 --- a/configure.in +++ b/configure.in @@ -171,6 +171,21 @@ 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 +246,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 +285,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 +322,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 +339,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) @@ -557,29 +588,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) ;;