AC_INIT([charybdis], [3.6.0-dev])
AC_LANG(C)
-AC_PROG_CC_C99
AC_USE_SYSTEM_EXTENSIONS
AC_GNU_SOURCE
+AC_PROG_CC_C99
+
+if test x"$ac_cv_prog_cc_c99" = "xno"; then
+ AC_ERROR([charybdis requires a C99 capable compiler])
+fi
+
AC_PREFIX_DEFAULT($HOME/ircd)
AC_CONFIG_MACRO_DIR([m4])
AC_CONFIG_HEADER(include/setup.h)
-AC_CONFIG_SUBDIRS([libratbox])
+
+case "$host_os" in
+*cygwin*)
+ AC_DEFINE_UNQUOTED(CYGWIN,1,[This is a Cygwin system])
+ AC_DEFINE_UNQUOTED(WINDOWS,1,[This is a Windows system])
+ ;;
+*mingw*)
+ AC_DEFINE_UNQUOTED(MINGW,1,[This is a MinGW system])
+ AC_DEFINE_UNQUOTED(WINDOWS,1,[This is a Windows system])
+ AC_CHECK_HEADER(winsock2.h, , [AC_MSG_ERROR([** MinGW and no winsock2.h. I give up.])])
+ LIBS="$LIBS -lws2_32 -liphlpapi"
+ is_mingw="yes"
+ ;;
+*)
+ ;;
+esac
+
+AM_CONDITIONAL([MINGW], [test "$is_mingw" = "yes"])
+
+AC_CONFIG_SUBDIRS([librb])
AC_CONFIG_AUX_DIR([libltdl/config])
-AC_CONFIG_MACRO_DIR([libltdl/m4])
AM_INIT_AUTOMAKE([subdir-objects])
AM_SILENT_RULES([yes])
dnl Checks for header files.
AC_HEADER_STDC
+AC_HEADER_STDBOOL
AC_CHECK_HEADERS([crypt.h sys/resource.h sys/param.h errno.h sys/syslog.h stddef.h sys/wait.h wait.h sys/epoll.h sys/uio.h machine/endian.h])
dnl Networking Functions
dnl ====================
-AC_SEARCH_LIBS(socket, socket, , [AC_MSG_ERROR([You have no socket()! Aborting.])])
+AC_SEARCH_LIBS(socket, [socket ws2_32], , [AC_MSG_ERROR([You have no socket()! Aborting.])])
dnl SunOS/Solaris required libnsl for inet_ntoa()
if test x"$SUN" = xyes; then
AC_CHECK_TYPES([uintptr_t])
dnl check for various functions...
-AC_CHECK_FUNCS([socketpair vsnprintf mmap gettimeofday strdup strndup ])
+AC_CHECK_FUNCS([snprintf vsnprintf socketpair mmap gettimeofday strdup strndup ])
AC_FUNC_ALLOCA
AC_DEFINE(CUSTOM_BRANDING, 1, [Define if custom branding is enabled.])
fi
+dnl **********************************************************************
+dnl Enable oper chghost
+dnl **********************************************************************
+
+AC_ARG_ENABLE(oper-chghost,
+AC_HELP_STRING([--enable-oper-chghost],[Enable opers to use the CHGHOST command]),
+[operchghost=$enableval],[operchghost=no])
+
+if test "$operchghost" = yes; then
+ AC_DEFINE(ENABLE_OPER_CHGHOST, 1, [Define this to enable opers to use the CHGHOST command.])
+fi
+
dnl Debug-related options
dnl =====================
assert = "hard";
fi
-AC_MSG_CHECKING(if you want IO Debugging hooks)
-AC_ARG_ENABLE(iodebug,
-AC_HELP_STRING([--enable-iodebug],[Enable IO Debugging hooks]),
-[iodebug=$enableval], [iodebug=no])
-
-if test "$iodebug" = yes; then
- AC_DEFINE(USE_IODEBUG_HOOKS, 1, [Define this to enable IO Debug hooks.])
- AC_MSG_RESULT(yes)
-else
- AC_MSG_RESULT(no)
-fi
-
-
AC_MSG_CHECKING(if you want to do a profile build)
AC_ARG_ENABLE(profile,
AC_HELP_STRING([--enable-profile],[Enable profiling]),
AC_DEFINE_UNQUOTED(TOPICLEN, ${TOPICLEN}, [Maximum topic length (<=390)])
AC_DEFINE_UNQUOTED(NICKLEN, (${NICKLEN}+1), [Nickname length])
-# rpath, for finding libratbox.so at run time
+# rpath, for finding librb.so at run time
hold_ldflags=$LDFLAGS
AC_MSG_CHECKING(for the ld -rpath flag)
LDFLAGS="${LDFLAGS} -Wl,-rpath=${libdir}"