dnl Process this file with autoconf to produce a configure script. AC_INIT(mudconf.h) AC_CONFIG_HEADER(autoconf.h) AC_PROG_CC AC_PROG_CPP AC_ISC_POSIX AC_MINIX AC_HEADER_STDC AC_CHECK_HEADERS(memory.h unistd.h errno.h malloc.h ieeefp.h sys/select.h sys/rusage.h sys/ucontext.h) AC_TIME_WITH_SYS_TIME AC_FUNC_VFORK AC_FUNC_VPRINTF AC_HAVE_FUNCS(setrlimit getrusage timelocal mktime srandom) AC_HAVE_FUNCS(getpagesize getdtablesize socket gethostbyaddr) AC_HAVE_FUNCS(gettimeofday) AC_REPLACE_FUNCS(strdup) AC_TYPE_SIGNAL AC_MSG_CHECKING(for struct sigcontext argument in signal handlers) AC_TRY_COMPILE([#include <sys/signal.h>],[struct sigcontext scp;], AC_DEFINE(HAVE_STRUCT_SIGCONTEXT) AC_MSG_RESULT(yes), AC_MSG_RESULT(no)) AC_FUNC_WAIT3 AC_STRUCT_TM AC_STRUCT_TIMEZONE AC_TYPE_PID_T AC_MSG_CHECKING(for union wait) AC_TRY_COMPILE([#include <sys/wait.h>],[union wait stat;], AC_DEFINE(HAVE_UNION_WAIT) AC_MSG_RESULT(yes), AC_MSG_RESULT(no)) AC_MSG_CHECKING(for extended string dcls) AC_HEADER_EGREP(rindex,string.h, AC_MSG_RESULT(yes), AC_DEFINE(NEED_INDEX_DCL) AC_MSG_RESULT(no)) AC_MSG_CHECKING(for malloc dcl) AC_HEADER_EGREP(realloc,stdlib.h, AC_MSG_RESULT(yes), AC_DEFINE(NEED_MALLOC_DCL) AC_MSG_RESULT(no)) AC_MSG_CHECKING(for vsprintf dcl) AC_HEADER_EGREP(vsprintf,stdio.h, AC_MSG_RESULT(yes), AC_DEFINE(NEED_VSPRINTF_DCL) AC_MSG_RESULT(no)) AC_MSG_CHECKING(for sprintf dcl) AC_HEADER_EGREP(\<sprintf|\<*sprintf,stdio.h, AC_MSG_RESULT(yes), AC_DEFINE(NEED_SPRINTF_DCL) AC_MSG_RESULT(no)) AC_MSG_CHECKING(for extended stdio dcls) AC_HEADER_EGREP(fread,stdio.h,AC_DEFINE(EXTENDED_STDIO_DCLS) AC_MSG_RESULT(yes), AC_MSG_RESULT(no)) AC_MSG_CHECKING(for extended socket dcls) AC_HEADER_EGREP(setsockopt,sys/socket.h,AC_DEFINE(EXTENDED_SOCKET_DCLS) AC_MSG_RESULT(yes), AC_MSG_RESULT(no)) AC_MSG_CHECKING(for signal SIGCHLD braindamage) AC_TRY_RUN([ #include <sys/signal.h> #ifndef SIGCHLD #define SIGCHLD SIGCLD #endif int rlev; sighand(sig,code) int sig, code; { int stat; if (rlev++ > 2) exit(1); signal(SIGCHLD, sighand); wait(&stat); return; } main(argc, argv) int argc; char **argv; { rlev = 0; signal(SIGCHLD, sighand); if (fork()) { sleep(10); } else { sleep(2); exit(1); } exit(0); } ],[AC_MSG_RESULT(no)],[AC_DEFINE(SIGNAL_SIGCHLD_BRAINDAMAGE) AC_MSG_RESULT(yes)], [AC_MSG_RESULT(cross-compiling)]) AC_DECL_SYS_SIGLIST case "$DEFS" in *HAVE_ERRNO_H*) AC_DEFINE(NEED_SYS_ERRLIST_DCL) ;; *) AC_MSG_CHECKING(for sys_errlist dcl) AC_HEADER_EGREP(sys_errlist,errno.h, AC_MSG_RESULT(yes), AC_DEFINE(NEED_SYS_ERRLIST_DCL) AC_MSG_RESULT(no)) ;; esac AC_MSG_CHECKING(for perror dcl) AC_HEADER_EGREP(perror,errno.h, AC_MSG_RESULT(yes) ,AC_DEFINE(NEED_PERROR_DCL) AC_MSG_RESULT(no)) AC_MSG_CHECKING(for getrusage dcl) AC_HEADER_EGREP(getrusage,sys/resource.h, AC_MSG_RESULT(yes), AC_DEFINE(NEED_GETRUSAGE_DCL) AC_MSG_RESULT(no)) AC_MSG_CHECKING(for getrlimit dcl) AC_HEADER_EGREP(getrlimit,sys/resource.h, AC_MSG_RESULT(yes), AC_DEFINE(NEED_GETRLIMIT_DCL) AC_MSG_RESULT(no)) AC_C_CONST AC_C_CHAR_UNSIGNED AC_C_INLINE AC_MSG_CHECKING(for linger) AC_TRY_COMPILE([#include <sys/socket.h>],[struct linger ling; ling.l_onoff = 1;], AC_DEFINE(HAVE_LINGER) AC_MSG_RESULT(yes), AC_MSG_RESULT(no)) LIBS="-L./gdbm-1.7.3 -lgdbm" AC_CHECK_LIB(resolv, main) AC_CHECK_LIB(crypt, main) case "$DEFS" in *HAVE_SOCKET*) ;; *) AC_CHECK_LIB(socket, main) ;; esac case "$DEFS" in *HAVE_GETHOSTBYADDR*) ;; *) AC_CHECK_LIB(inet, main) ;; esac AC_DYNIX_SEQ AC_IRIX_SUN AC_CHECK_LIB(nsl, main) AC_CHECK_LIB(bsd, main) AC_CHECK_LIB(iberty, main) AC_SUBST(LIBOBJS) AC_OUTPUT(Makefile)