[BACK]Return to acsite.m4 CVS log [TXT][DIR] Up to [local] / src / usr.bin / sudo

Annotation of src/usr.bin/sudo/acsite.m4, Revision 1.1

1.1     ! millert     1: dnl Local m4 macors for autoconf (used by sudo)
        !             2: dnl
        !             3: dnl Copyright (c) 1994-1996,1998-1999 Todd C. Miller <Todd.Miller@courtesan.com>
        !             4: dnl
        !             5: dnl XXX - should cache values in all cases!!!
        !             6: dnl
        !             7: dnl checks for programs
        !             8:
        !             9: dnl
        !            10: dnl check for sendmail
        !            11: dnl
        !            12: AC_DEFUN(SUDO_PROG_SENDMAIL, [AC_MSG_CHECKING(for sendmail)
        !            13: if test -f "/usr/sbin/sendmail"; then
        !            14:     AC_MSG_RESULT(/usr/sbin/sendmail)
        !            15:     AC_DEFINE(_PATH_SENDMAIL, "/usr/sbin/sendmail")
        !            16: elif test -f "/usr/lib/sendmail"; then
        !            17:     AC_MSG_RESULT(/usr/lib/sendmail)
        !            18:     AC_DEFINE(_PATH_SENDMAIL, "/usr/lib/sendmail")
        !            19: elif test -f "/usr/etc/sendmail"; then
        !            20:     AC_MSG_RESULT(/usr/etc/sendmail)
        !            21:     AC_DEFINE(_PATH_SENDMAIL, "/usr/etc/sendmail")
        !            22: elif test -f "/usr/ucblib/sendmail"; then
        !            23:     AC_MSG_RESULT(/usr/ucblib/sendmail)
        !            24:     AC_DEFINE(_PATH_SENDMAIL, "/usr/ucblib/sendmail")
        !            25: elif test -f "/usr/local/lib/sendmail"; then
        !            26:     AC_MSG_RESULT(/usr/local/lib/sendmail)
        !            27:     AC_DEFINE(_PATH_SENDMAIL, "/usr/local/lib/sendmail")
        !            28: elif test -f "/usr/local/bin/sendmail"; then
        !            29:     AC_MSG_RESULT(/usr/local/bin/sendmail)
        !            30:     AC_DEFINE(_PATH_SENDMAIL, "/usr/local/bin/sendmail")
        !            31: else
        !            32:     AC_MSG_RESULT(not found)
        !            33: fi
        !            34: ])dnl
        !            35:
        !            36: dnl
        !            37: dnl check for vi
        !            38: dnl
        !            39: AC_DEFUN(SUDO_PROG_VI, [AC_MSG_CHECKING(for vi)
        !            40: if test -f "/usr/bin/vi"; then
        !            41:     AC_MSG_RESULT(/usr/bin/vi)
        !            42:     AC_DEFINE(_PATH_VI, "/usr/bin/vi")
        !            43: elif test -f "/usr/ucb/vi"; then
        !            44:     AC_MSG_RESULT(/usr/ucb/vi)
        !            45:     AC_DEFINE(_PATH_VI, "/usr/ucb/vi")
        !            46: elif test -f "/usr/bsd/vi"; then
        !            47:     AC_MSG_RESULT(/usr/bsd/vi)
        !            48:     AC_DEFINE(_PATH_VI, "/usr/bsd/vi")
        !            49: elif test -f "/bin/vi"; then
        !            50:     AC_MSG_RESULT(/bin/vi)
        !            51:     AC_DEFINE(_PATH_VI, "/bin/vi")
        !            52: elif test -f "/usr/local/bin/vi"; then
        !            53:     AC_MSG_RESULT(/usr/local/bin/vi)
        !            54:     AC_DEFINE(_PATH_VI, "/usr/local/bin/vi")
        !            55: else
        !            56:     AC_MSG_RESULT(not found)
        !            57: fi
        !            58: ])dnl
        !            59:
        !            60: dnl
        !            61: dnl check for mv
        !            62: dnl
        !            63: AC_DEFUN(SUDO_PROG_MV, [AC_MSG_CHECKING(for mv)
        !            64: if test -f "/usr/bin/mv"; then
        !            65:     AC_MSG_RESULT(/usr/bin/mv)
        !            66:     AC_DEFINE(_PATH_MV, "/usr/bin/mv")
        !            67: elif test -f "/bin/mv"; then
        !            68:     AC_MSG_RESULT(/bin/mv)
        !            69:     AC_DEFINE(_PATH_MV, "/bin/mv")
        !            70: elif test -f "/usr/ucb/mv"; then
        !            71:     AC_MSG_RESULT(/usr/ucb/mv)
        !            72:     AC_DEFINE(_PATH_MV, "/usr/ucb/mv")
        !            73: elif test -f "/usr/sbin/mv"; then
        !            74:     AC_MSG_RESULT(/usr/sbin/mv)
        !            75:     AC_DEFINE(_PATH_MV, "/usr/sbin/mv")
        !            76: else
        !            77:     AC_MSG_RESULT(not found)
        !            78: fi
        !            79: ])dnl
        !            80:
        !            81: dnl
        !            82: dnl check for bourne shell
        !            83: dnl
        !            84: AC_DEFUN(SUDO_PROG_BSHELL, [AC_MSG_CHECKING(for bourne shell)
        !            85: if test -f "/bin/sh"; then
        !            86:     AC_MSG_RESULT(/bin/sh)
        !            87:     AC_DEFINE(_PATH_BSHELL, "/bin/sh")
        !            88: elif test -f "/usr/bin/sh"; then
        !            89:     AC_MSG_RESULT(/usr/bin/sh)
        !            90:     AC_DEFINE(_PATH_BSHELL, "/usr/bin/sh")
        !            91: elif test -f "/sbin/sh"; then
        !            92:     AC_MSG_RESULT(/sbin/sh)
        !            93:     AC_DEFINE(_PATH_BSHELL, "/sbin/sh")
        !            94: elif test -f "/usr/sbin/sh"; then
        !            95:     AC_MSG_RESULT(/usr/sbin/sh)
        !            96:     AC_DEFINE(_PATH_BSHELL, "/usr/sbin/sh")
        !            97: elif test -f "/bin/ksh"; then
        !            98:     AC_MSG_RESULT(/bin/ksh)
        !            99:     AC_DEFINE(_PATH_BSHELL, "/bin/ksh")
        !           100: elif test -f "/usr/bin/ksh"; then
        !           101:     AC_MSG_RESULT(/usr/bin/ksh)
        !           102:     AC_DEFINE(_PATH_BSHELL, "/usr/bin/ksh")
        !           103: elif test -f "/bin/bash"; then
        !           104:     AC_MSG_RESULT(/bin/bash)
        !           105:     AC_DEFINE(_PATH_BSHELL, "/bin/bash")
        !           106: elif test -f "/usr/bin/bash"; then
        !           107:     AC_MSG_RESULT(/usr/bin/bash)
        !           108:     AC_DEFINE(_PATH_BSHELL, "/usr/bin/bash")
        !           109: else
        !           110:     AC_MSG_RESULT(not found)
        !           111: fi
        !           112: ])dnl
        !           113:
        !           114: dnl
        !           115: dnl Where the log file goes, use /var/log if it exists, else /{var,usr}/adm
        !           116: dnl
        !           117: AC_DEFUN(SUDO_LOGFILE, [AC_MSG_CHECKING(for log file location)
        !           118: if test -n "$with_logpath"; then
        !           119:     AC_MSG_RESULT($with_logpath)
        !           120:     AC_DEFINE_UNQUOTED(_PATH_SUDO_LOGFILE, "$with_logpath")
        !           121: elif test -d "/var/log"; then
        !           122:     AC_MSG_RESULT(/var/log/sudo.log)
        !           123:     AC_DEFINE(_PATH_SUDO_LOGFILE, "/var/log/sudo.log")
        !           124: elif test -d "/var/adm"; then
        !           125:     AC_MSG_RESULT(/var/adm/sudo.log)
        !           126:     AC_DEFINE(_PATH_SUDO_LOGFILE, "/var/adm/sudo.log")
        !           127: elif test -d "/usr/adm"; then
        !           128:     AC_MSG_RESULT(/usr/adm/sudo.log)
        !           129:     AC_DEFINE(_PATH_SUDO_LOGFILE, "/usr/adm/sudo.log")
        !           130: else
        !           131:     AC_MSG_RESULT(unknown, you will have to set _PATH_SUDO_LOGFILE by hand)
        !           132: fi
        !           133: ])dnl
        !           134:
        !           135: dnl
        !           136: dnl Where the log file goes, use /var/log if it exists, else /{var,usr}/adm
        !           137: dnl
        !           138: AC_DEFUN(SUDO_TIMEDIR, [AC_MSG_CHECKING(for timestamp file location)
        !           139: if test -n "$with_timedir"; then
        !           140:     AC_MSG_RESULT($with_timedir)
        !           141:     AC_DEFINE_UNQUOTED(_PATH_SUDO_TIMEDIR, "$with_timedir")
        !           142: elif test -d "/var/run"; then
        !           143:     AC_MSG_RESULT(/var/run/sudo)
        !           144:     AC_DEFINE(_PATH_SUDO_TIMEDIR, "/var/run/sudo")
        !           145: elif test -d "/tmp"; then
        !           146:     AC_MSG_RESULT(/tmp/.odus)
        !           147:     AC_DEFINE(_PATH_SUDO_TIMEDIR, "/tmp/.odus")
        !           148: else
        !           149:     AC_MSG_RESULT(unknown, you will have to set _PATH_SUDO_TIMEDIR by hand)
        !           150: fi
        !           151: ])dnl
        !           152:
        !           153: dnl
        !           154: dnl check for fullly working void
        !           155: dnl
        !           156: AC_DEFUN(SUDO_FULL_VOID, [AC_MSG_CHECKING(for full void implementation)
        !           157: AC_TRY_COMPILE(, [void *foo;
        !           158: foo = (void *)0; (void *)"test";], AC_DEFINE(VOID, void)
        !           159: AC_MSG_RESULT(yes), AC_DEFINE(VOID, char)
        !           160: AC_MSG_RESULT(no))])
        !           161:
        !           162: dnl
        !           163: dnl SUDO_CHECK_TYPE(TYPE, DEFAULT)
        !           164: dnl XXX - should require the check for unistd.h...
        !           165: dnl
        !           166: AC_DEFUN(SUDO_CHECK_TYPE,
        !           167: [AC_REQUIRE([AC_HEADER_STDC])dnl
        !           168: AC_MSG_CHECKING(for $1)
        !           169: AC_CACHE_VAL(sudo_cv_type_$1,
        !           170: [AC_EGREP_CPP($1, [#include <sys/types.h>
        !           171: #if STDC_HEADERS
        !           172: #include <stdlib.h>
        !           173: #endif
        !           174: #if HAVE_UNISTD_H
        !           175: #include <unistd.h>
        !           176: #endif], sudo_cv_type_$1=yes, sudo_cv_type_$1=no)])dnl
        !           177: AC_MSG_RESULT($sudo_cv_type_$1)
        !           178: if test $sudo_cv_type_$1 = no; then
        !           179:   AC_DEFINE($1, $2)
        !           180: fi
        !           181: ])
        !           182:
        !           183: dnl
        !           184: dnl Check for size_t declation
        !           185: dnl
        !           186: AC_DEFUN(SUDO_TYPE_SIZE_T,
        !           187: [SUDO_CHECK_TYPE(size_t, int)])
        !           188:
        !           189: dnl
        !           190: dnl Check for ssize_t declation
        !           191: dnl
        !           192: AC_DEFUN(SUDO_TYPE_SSIZE_T,
        !           193: [SUDO_CHECK_TYPE(ssize_t, int)])
        !           194:
        !           195: dnl
        !           196: dnl Check for dev_t declation
        !           197: dnl
        !           198: AC_DEFUN(SUDO_TYPE_DEV_T,
        !           199: [SUDO_CHECK_TYPE(dev_t, int)])
        !           200:
        !           201: dnl
        !           202: dnl Check for ino_t declation
        !           203: dnl
        !           204: AC_DEFUN(SUDO_TYPE_INO_T,
        !           205: [SUDO_CHECK_TYPE(ino_t, unsigned int)])
        !           206:
        !           207: dnl
        !           208: dnl check for POSIX utime() using struct utimbuf
        !           209: dnl
        !           210: AC_DEFUN(SUDO_FUNC_UTIME_POSIX,
        !           211: [AC_MSG_CHECKING(for POSIX utime)
        !           212: AC_CACHE_VAL(sudo_cv_func_utime_posix,
        !           213: [rm -f conftestdata; > conftestdata
        !           214: AC_TRY_RUN([#include <sys/types.h>
        !           215: #include <sys/time.h>
        !           216: #include <utime.h>
        !           217: main() {
        !           218: struct utimbuf ut;
        !           219: ut.actime = ut.modtime = time(0);
        !           220: utime("conftestdata", &ut);
        !           221: exit(0);
        !           222: }], sudo_cv_func_utime_posix=yes, sudo_cv_func_utime_posix=no,
        !           223:   sudo_cv_func_utime_posix=no)
        !           224: rm -f core core.* *.core])dnl
        !           225: AC_MSG_RESULT($sudo_cv_func_utime_posix)
        !           226: if test $sudo_cv_func_utime_posix = yes; then
        !           227:   AC_DEFINE(HAVE_UTIME_POSIX)
        !           228: fi
        !           229: ])
        !           230:
        !           231: dnl
        !           232: dnl check for working fnmatch(3)
        !           233: dnl
        !           234: AC_DEFUN(SUDO_FUNC_FNMATCH,
        !           235: [AC_MSG_CHECKING(for working fnmatch)
        !           236: AC_CACHE_VAL(sudo_cv_func_fnmatch,
        !           237: [rm -f conftestdata; > conftestdata
        !           238: AC_TRY_RUN([main() {
        !           239: exit(fnmatch("/*/bin/echo *", "/usr/bin/echo just a test", 0));
        !           240: }], sudo_cv_func_fnmatch=yes, sudo_cv_func_fnmatch=no,
        !           241:   sudo_cv_func_fnmatch=no)
        !           242: rm -f core core.* *.core])dnl
        !           243: AC_MSG_RESULT($sudo_cv_func_fnmatch)
        !           244: if test $sudo_cv_func_fnmatch = yes; then
        !           245:   [$1]
        !           246: else
        !           247:   [$2]
        !           248: fi
        !           249: ])
        !           250:
        !           251: dnl
        !           252: dnl check for sa_len field in struct sockaddr
        !           253: dnl
        !           254: AC_DEFUN(SUDO_SOCK_SA_LEN,
        !           255: [AC_MSG_CHECKING(for sa_len field in struct sockaddr)
        !           256: AC_CACHE_VAL(sudo_cv_sock_sa_len,
        !           257: [AC_TRY_RUN([#include <sys/types.h>
        !           258: #include <sys/socket.h>
        !           259: main() {
        !           260: struct sockaddr s;
        !           261: s.sa_len = 0;
        !           262: exit(0);
        !           263: }], sudo_cv_sock_sa_len=yes, sudo_cv_sock_sa_len=no,
        !           264:   sudo_cv_sock_sa_len=no)
        !           265: rm -f core core.* *.core])dnl
        !           266: AC_MSG_RESULT($sudo_cv_sock_sa_len)
        !           267: if test $sudo_cv_sock_sa_len = yes; then
        !           268:   AC_DEFINE(HAVE_SA_LEN)
        !           269: fi
        !           270: ])
        !           271:
        !           272: dnl
        !           273: dnl check for max length of uid_t in string representation.
        !           274: dnl we can't really trust UID_MAX or MAXUID since they may exist
        !           275: dnl only for backwards compatibility.
        !           276: dnl
        !           277: AC_DEFUN(SUDO_UID_T_LEN,
        !           278: [AC_REQUIRE([AC_TYPE_UID_T])
        !           279: AC_MSG_CHECKING(max length of uid_t)
        !           280: AC_CACHE_VAL(sudo_cv_uid_t_len,
        !           281: [rm -f conftestdata
        !           282: AC_TRY_RUN(
        !           283: [#include <stdio.h>
        !           284: #include <pwd.h>
        !           285: #include <limits.h>
        !           286: #include <sys/types.h>
        !           287: #include <sys/param.h>
        !           288: main() {
        !           289:   FILE *f;
        !           290:   char b[1024];
        !           291:   uid_t u = (uid_t) -1;
        !           292:
        !           293:   if ((f = fopen("conftestdata", "w")) == NULL)
        !           294:     exit(1);
        !           295:
        !           296:   (void) sprintf(b, "%u", u);
        !           297:   (void) fprintf(f, "%d\n", strlen(b));
        !           298:   (void) fclose(f);
        !           299:   exit(0);
        !           300: }], sudo_cv_uid_t_len=`cat conftestdata`, sudo_cv_uid_t_len=10)
        !           301: ])
        !           302: rm -f conftestdata
        !           303: AC_MSG_RESULT($sudo_cv_uid_t_len)
        !           304: AC_DEFINE_UNQUOTED(MAX_UID_T_LEN, $sudo_cv_uid_t_len)
        !           305: ])
        !           306:
        !           307: dnl
        !           308: dnl check for "long long"
        !           309: dnl XXX hard to cache since it includes 2 tests
        !           310: dnl
        !           311: AC_DEFUN(SUDO_LONG_LONG, [AC_MSG_CHECKING(for long long support)
        !           312: AC_TRY_LINK(, [long long foo = 1000; foo /= 10;], AC_DEFINE(HAVE_LONG_LONG)
        !           313: [AC_TRY_RUN([main() {if (sizeof(long long) == sizeof(long)) exit(0); else exit(1);}], AC_DEFINE(LONG_IS_QUAD))]
        !           314: AC_MSG_RESULT(yes), AC_MSG_RESULT(no))])