mux2.0/
mux2.0/game/bin/
mux2.0/game/data/
mux2.0/src/tools/
dnl Process this file with autoconf to produce a configure script.
AC_INIT(mudconf.h)
AC_CONFIG_HEADER(autoconf.h)
AC_CANONICAL_HOST
AC_PROG_CC
AC_PROG_CXX
AC_PROG_CXXCPP
AC_PROG_CPP
case "$host" in
*solaris*) def_force_c_compiler="FORCE_C_COMPILER=1" ;;
*irix*) def_brief_lib_list="BRIEF_LIB_LIST=1" ;;
esac
AC_ISC_POSIX
AC_MINIX
AC_AIX
AC_HEADER_DIRENT
AC_HEADER_STDC
AC_HEADER_TIME
AC_CHECK_HEADERS(unistd.h memory.h string.h errno.h malloc.h sys/select.h)
AC_CHECK_HEADERS(fcntl.h limits.h sys/file.h sys/ioctl.h sys/time.h sys/stat.h)
AC_CHECKING(for sys_errlist decl)
if test $ac_cv_header_errno_h = no; then
	AC_DEFINE(NEED_SYS_ERRLIST_DCL)
else
	AC_EGREP_HEADER(sys_errlist,errno.h, ,AC_EGREP_HEADER(sys_errlist,stdio.h,,AC_DEFINE(NEED_SYS_ERRLIST_DCL)))
fi
AC_CHECK_LIB(crypt, main)
AC_FUNC_STRFTIME
AC_FUNC_VFORK
AC_FUNC_VPRINTF
AC_CHECK_FUNCS(setrlimit getrusage timelocal mktime srandom)
AC_CHECK_FUNCS(getdtablesize socket gethostbyaddr)
AC_CHECK_FUNCS(gettimeofday select socket wait3)
AC_CHECK_FUNCS(getpagesize)
AC_EGREP_HEADER(getpagesize,unistd.h,,AC_DEFINE(NEED_GETPAGESIZE_DCL))
AC_TYPE_OFF_T
AC_TYPE_PID_T
AC_TYPE_SIGNAL
AC_TRY_COMPILE([#include <signal.h>],[struct sigcontext scp;],AC_DEFINE(HAVE_STRUCT_SIGCONTEXT))
AC_HEADER_SYS_WAIT
AC_STRUCT_TM
AC_STRUCT_TIMEZONE
AC_TRY_COMPILE([#include <sys/wait.h>],[union wait stat;],AC_DEFINE(HAVE_UNION_WAIT))
AC_CHECKING(for extended string dcls)
AC_EGREP_HEADER(rindex,string.h, ,AC_DEFINE(NEED_INDEX_DCL))
AC_CHECKING(for malloc dcl)
AC_EGREP_HEADER(realloc,stdlib.h, ,AC_DEFINE(NEED_MALLOC_DCL))
AC_CHECKING(for vsprintf dcl)
AC_EGREP_HEADER(vsprintf,stdio.h, ,AC_DEFINE(NEED_VSPRINTF_DCL))
AC_CHECKING(for sprintf dcl)
AC_EGREP_HEADER(\<sprintf|\<*sprintf,stdio.h, ,AC_DEFINE(NEED_SPRINTF_DCL))
AC_CHECKING(for extended stdio dcls)
AC_EGREP_HEADER(fread,stdio.h,AC_DEFINE(EXTENDED_STDIO_DCLS))
AC_CHECKING(for extended socket dcls)
AC_EGREP_HEADER(setsockopt,sys/socket.h,AC_DEFINE(EXTENDED_SOCKET_DCLS))
AC_CHECKING(for socklen_t dcls)
AC_EGREP_HEADER(socklen_t,sys/socket.h,AC_DEFINE(SOCKLEN_T_DCL))

AC_CHECKING(for gettimeofday dcl)
if test $ac_cv_header_time = yes && test $ac_cv_header_sys_time_h = yes ; then
AC_EGREP_HEADER(gettimeofday,[time.h>
#include <sys/time.h], ,AC_DEFINE(NEED_GETTIMEOFDAY_DCL))
elif test $ac_cv_header_sys_time_h = yes ; then
AC_EGREP_HEADER(gettimeofday,sys/time.h, ,AC_DEFINE(NEED_GETTIMEOFDAY_DCL))
else
AC_EGREP_HEADER(gettimeofday,time.h, ,AC_DEFINE(NEED_GETTIMEOFDAY_DCL))
fi

if test $ac_cv_header_sys_wait_h = yes ; then
AC_CHECKING(for wait3 dcl)
AC_EGREP_HEADER(wait3,sys/wait.h, ,AC_DEFINE(NEED_WAIT3_DCL))
fi

AC_CHECKING(for srandom dcl)
AC_EGREP_HEADER(srandom,math.h,,AC_EGREP_HEADER(srandom,stdlib.h,,AC_DEFINE(NEED_SRANDOM_DCL)))

AC_CHECKING(for random dcl)
AC_EGREP_HEADER(extern * random,stdlib.h,,AC_DEFINE(NEED_RANDOM_DCL))

AC_CHECKING(for signal SIGCHLD braindamage)
AC_TRY_RUN([
#include <signal.h>

#ifndef SIGCHLD
#define SIGCHLD SIGCLD
#endif

int rlev;

RETSIGTYPE sighand(int sig, int code)
{
  int stat;

  if (rlev++ > 2)
    exit(1);
  signal(SIGCHLD, sighand);
  wait(&stat);
  return;
}

int main(int argc, char *argv[])
{

  rlev = 0;
  signal(SIGCHLD, sighand);
  if (fork()) {
    sleep(10);
  } else {
    sleep(2);
    exit(1);
  }
  exit(0);
}
], ,AC_DEFINE(SIGNAL_SIGCHLD_BRAINDAMAGE),AC_DEFINE(SIGNAL_SIGCHLD_BRAINDAMAGE))

AC_DECL_SYS_SIGLIST
AC_CHECKING(for IEEE floating-point format)
AC_TRY_RUN([
double rZero = 0.0;
int main(int argc, char *argv[])
{
   double r = -1e-125;
   long long i64;
   *(double *)&i64 = r;
   if (i64 == 0xA5FB13AC9AAF4C0Full)
   {
      return 0;
   }
   return 1;
}
],AC_DEFINE(HAVE_IEEE_FP_FORMAT),AC_DEFINE(NO_IEEE_FP_FORMAT),AC_DEFINE(NO_IEEE_FP_FORMAT))
AC_CHECKING(for IEEE floating-point exception handling)
AC_TRY_RUN([
#include <signal.h>
double rZero = 0.0;
int main(int argc, char *argv[])
{
   double r;
   long long i64;
   signal(SIGFPE, SIG_IGN);
   r = 1.0/rZero;
   *(double *)&i64 = r;
   if (i64 == 0x7FF0000000000000ull)
   {
      return 0;
   }
   return 1;
}
],AC_DEFINE(HAVE_IEEE_FP_SNAN),AC_DEFINE(NO_IEEE_FP_SNAN),AC_DEFINE(NO_IEEE_FP_SNAN))
AC_CHECKING(for perror dcl)
AC_EGREP_HEADER(perror,errno.h, ,AC_DEFINE(NEED_PERROR_DCL))
AC_CHECKING(for getrusage dcl)
AC_EGREP_HEADER(getrusage,sys/resource.h, ,AC_DEFINE(NEED_GETRUSAGE_DCL))
AC_CHECKING(for getrlimit dcl)
AC_EGREP_HEADER(getrlimit,sys/resource.h, ,AC_DEFINE(NEED_GETRLIMIT_DCL))
AC_C_CONST
AC_C_CHAR_UNSIGNED
AC_C_INLINE
AC_TRY_COMPILE([#include <sys/types.h>
#include <sys/socket.h>],
[struct linger ling; ling.l_onoff = 1;],
AC_DEFINE(HAVE_LINGER))
AC_CHECK_LIB(resolv, main)
AC_CHECK_LIB(sun, getpwnam)
AC_CHECK_LIB(seq, main)
AC_CHECK_LIB(intl, main)
AC_CHECK_LIB(nsl, main)
if test $ac_cv_func_gethostbyaddr = no; then
	AC_CHECK_LIB(inet, main)
fi
if test $ac_cv_func_socket = no; then
	AC_CHECK_LIB(socket, main)
fi
AC_CHECK_LIB(m, main)
AC_SUBST(LIBOBJS)
AC_SUBST(def_force_c_compiler)
AC_SUBST(def_brief_lib_list)
AC_OUTPUT(Makefile)