X-Git-Url: https://jfr.im/git/solanum.git/blobdiff_plain/9e45a5ca19a6b0cc39f2ba45e385dc3ab9b116b0..5544da98b80eb223aa68f2320400c1a5661091db:/configure.ac diff --git a/configure.ac b/configure.ac index 1ba3a04c..b542dac6 100644 --- a/configure.ac +++ b/configure.ac @@ -7,16 +7,20 @@ AC_PREREQ(2.60) 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]) +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]) @@ -207,22 +211,22 @@ AC_CHECK_TYPE([sa_family_t], [], 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 dnl Specialized functions checks dnl ============================ -dnl check for nanosleep +dnl check for nanosleep AC_CHECK_FUNC(nanosleep,,[AC_CHECK_LIB(rt,nanosleep, LIBS="${LIBS} -lrt", [AC_CHECK_LIB(posix4,nanosleep, LIBS="${LIBS} -lposix4" )])]) if test x$ac_cv_func_nanosleep = xno && test x$ac_cv_lib_posix4_nanosleep = xno && test x$ac_cv_lib_rt_nanosleep = xno -then +then AC_MSG_RESULT("nanosleep not found..using select for delay") -else +else AC_DEFINE([HAVE_NANOSLEEP], 1, [Define if nanosleep exists]) fi @@ -296,11 +300,11 @@ if test "$cf_enable_openssl" != no; then dnl Check OpenSSL version (must be 0.9.6 or above!) AC_MSG_CHECKING(for OpenSSL 0.9.6 or above) AC_RUN_IFELSE( - AC_LANG_PROGRAM( + [AC_LANG_PROGRAM( [#include #include ], [[if ( OPENSSL_VERSION_NUMBER >= 0x00906000) - exit(0); else exit(1);]]), + exit(0); else exit(1);]])], cf_openssl_version_ok=yes, cf_openssl_version_ok=no, cf_openssl_version_ok=no) @@ -310,7 +314,7 @@ if test "$cf_enable_openssl" != no; then dnl Work around pmake/gmake conditional incompatibilities AC_SUBST(ENCSPEED, encspeed) - + dnl Do all the HAVE_LIBCRYPTO magic -- and check for ciphers CPPFLAGS="$CPPFLAGS $SSL_LIBS" AC_CHECK_LIB(crypto, RSA_free) @@ -387,7 +391,7 @@ dnl Check for --with-logdir dnl ********************************************************************** AC_MSG_CHECKING([whether to modify logdir]) -AC_ARG_WITH(logdir, +AC_ARG_WITH(logdir, AC_HELP_STRING([--with-logdir=DIR], [Directory where to write logfiles.]), [ logdir=`echo $withval | sed 's/\/$//'` @@ -404,7 +408,7 @@ dnl Check for --with-helpdir dnl ********************************************************************** AC_MSG_CHECKING([whether to modify helpdir]) -AC_ARG_WITH(helpdir, +AC_ARG_WITH(helpdir, AC_HELP_STRING([--with-helpdir=DIR], [Directory to install help files.]), [ helpdir=`echo $withval | sed 's/\/$//'` @@ -421,7 +425,7 @@ dnl Check for --with-moduledir dnl ********************************************************************** AC_MSG_CHECKING([whether to modify moduledir]) -AC_ARG_WITH(moduledir, +AC_ARG_WITH(moduledir, [AC_HELP_STRING([--with-moduledir=DIR], [Directory to install modules.])], [ moduledir=`echo $withval | sed 's/\/$//'` @@ -508,19 +512,6 @@ elif test "$assert" = yes; then 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]), @@ -538,63 +529,29 @@ else AC_MSG_RESULT(no) fi -AC_ARG_ENABLE(balloc, -AC_HELP_STRING([--disable-balloc],[Disable the block allocator.]), -[balloc=$enableval], [balloc=yes]) - -if test "$balloc" = no; then - AC_DEFINE([NOBALLOC], 1, [Define to 1 if you wish to disable the block allocator.]) -fi - -AC_ARG_ENABLE(small-net, -AC_HELP_STRING([--enable-small-net],[Enable small network support.]), -[small_net=$enableval], [small_net=no]) - -if test "$small_net" = yes; then -dnl AC_DEFINE([HASHSIZE], 4096, [Max number of buckets in hash tables.]) - AC_DEFINE([NICKNAMEHISTORYLENGTH], 1500, [Size of the WHOWAS array.]) - AC_DEFINE([CHANNEL_HEAP_SIZE], 256, [Size of the channel heap.]) - AC_DEFINE([BAN_HEAP_SIZE], 128, [Size of the ban heap.]) - AC_DEFINE([CLIENT_HEAP_SIZE], 256, [Size of the client heap.]) - AC_DEFINE([LCLIENT_HEAP_SIZE], 128, [Size of the local client heap.]) - AC_DEFINE([PCLIENT_HEAP_SIZE], 32, [Size of the pre-client heap.]) - AC_DEFINE([USER_HEAP_SIZE], 128, [Size of the user heap.]) - AC_DEFINE([DNODE_HEAP_SIZE], 256, [Size of the dlink_node heap.]) - AC_DEFINE([TOPIC_HEAP_SIZE], 256, [Size of the topic heap.]) - AC_DEFINE([LINEBUF_HEAP_SIZE], 128, [Size of the linebuf heap.]) - AC_DEFINE([MEMBER_HEAP_SIZE], 256, [Sizeof member heap.]) - AC_DEFINE([ND_HEAP_SIZE], 128, [Size of the nick delay heap.]) - AC_DEFINE([CONFITEM_HEAP_SIZE], 128, [Size of the confitem heap.]) - AC_DEFINE([MONITOR_HEAP_SIZE], 128, [Size of the monitor heap.]) - AC_DEFINE([FD_HEAP_SIZE], 128, [Size of fd heap.]) - AC_DEFINE([AWAY_HEAP_SIZE], 128, [Size of away heap.]) -else -dnl These settings are for a large network like efnet..they will use lots of memory -dnl so enable small net unless you really need this much support - AC_DEFINE([NICKNAMEHISTORYLENGTH], 15000, [Size of the WHOWAS array.]) - AC_DEFINE([CHANNEL_HEAP_SIZE], 8192, [Size of the channel heap.]) - AC_DEFINE([BAN_HEAP_SIZE], 4096, [Size of the ban heap.]) - AC_DEFINE([CLIENT_HEAP_SIZE], 8192, [Size of the client heap.]) - AC_DEFINE([LCLIENT_HEAP_SIZE], 1024, [Size of the local client heap.]) - AC_DEFINE([PCLIENT_HEAP_SIZE], 256, [Size of the pre-client heap.]) - AC_DEFINE([USER_HEAP_SIZE], 8192, [Size of the user heap.]) - AC_DEFINE([DNODE_HEAP_SIZE], 8192, [Size of the dlink_node heap.]) - AC_DEFINE([TOPIC_HEAP_SIZE], 4096, [Size of the topic heap.]) - AC_DEFINE([LINEBUF_HEAP_SIZE], 2048, [Size of the linebuf heap.]) - AC_DEFINE([MEMBER_HEAP_SIZE], 32768, [Sizeof member heap.]) - AC_DEFINE([ND_HEAP_SIZE], 512, [Size of the nick delay heap.]) - AC_DEFINE([CONFITEM_HEAP_SIZE], 256, [Size of the confitem heap.]) - AC_DEFINE([MONITOR_HEAP_SIZE], 1024, [Size of the monitor heap.]) - AC_DEFINE([FD_HEAP_SIZE], 1024, [Size of fd heap.]) - AC_DEFINE([AWAY_HEAP_SIZE], 512, [Size of away heap.]) -fi +AC_DEFINE([NICKNAMEHISTORYLENGTH], 15000, [Size of the WHOWAS array.]) +AC_DEFINE([CHANNEL_HEAP_SIZE], 8192, [Size of the channel heap.]) +AC_DEFINE([BAN_HEAP_SIZE], 4096, [Size of the ban heap.]) +AC_DEFINE([CLIENT_HEAP_SIZE], 8192, [Size of the client heap.]) +AC_DEFINE([LCLIENT_HEAP_SIZE], 1024, [Size of the local client heap.]) +AC_DEFINE([PCLIENT_HEAP_SIZE], 256, [Size of the pre-client heap.]) +AC_DEFINE([USER_HEAP_SIZE], 8192, [Size of the user heap.]) +AC_DEFINE([DNODE_HEAP_SIZE], 8192, [Size of the dlink_node heap.]) +AC_DEFINE([TOPIC_HEAP_SIZE], 4096, [Size of the topic heap.]) +AC_DEFINE([LINEBUF_HEAP_SIZE], 2048, [Size of the linebuf heap.]) +AC_DEFINE([MEMBER_HEAP_SIZE], 32768, [Sizeof member heap.]) +AC_DEFINE([ND_HEAP_SIZE], 512, [Size of the nick delay heap.]) +AC_DEFINE([CONFITEM_HEAP_SIZE], 256, [Size of the confitem heap.]) +AC_DEFINE([MONITOR_HEAP_SIZE], 1024, [Size of the monitor heap.]) +AC_DEFINE([FD_HEAP_SIZE], 1024, [Size of fd heap.]) +AC_DEFINE([AWAY_HEAP_SIZE], 512, [Size of away heap.]) AC_ARG_WITH(nicklen, AC_HELP_STRING([--with-nicklen=LENGTH],[Set the upper-bound nick length to LENGTH (default 31, max 50)]), [ - if ! expr "$withval" + 0 >/dev/null 2>&1; then + if ! expr "$withval" + 0 >/dev/null 2>&1; then AC_ERROR([NICKLEN must be a numeric value]) - fi + fi if test $withval -gt 50; then NICKLEN=50 AC_MSG_WARN([NICKLEN has a hard limit of 50. Setting NICKLEN=50]) @@ -606,10 +563,10 @@ AC_HELP_STRING([--with-nicklen=LENGTH],[Set the upper-bound nick length to LENGT fi ], [NICKLEN=31]) -AC_ARG_WITH(topiclen, +AC_ARG_WITH(topiclen, AC_HELP_STRING([--with-topiclen=NUMBER],[Set the max topic length to NUMBER (default 390, max 390)]), [ - if test $withval -ge 390; then + if test $withval -gt 390; then TOPICLEN=390 AC_MSG_WARN([TOPICLEN has a hard limit of 390. Setting TOPICLEN=390]) else @@ -624,7 +581,7 @@ AC_DEFINE_UNQUOTED(NICKLEN, (${NICKLEN}+1), [Nickname length]) hold_ldflags=$LDFLAGS AC_MSG_CHECKING(for the ld -rpath flag) LDFLAGS="${LDFLAGS} -Wl,-rpath=${libdir}" -AC_LINK_IFELSE(AC_LANG_PROGRAM([],[int i;]), found=yes, found=no) +AC_LINK_IFELSE([AC_LANG_PROGRAM([],[int i;])], found=yes, found=no) LDFLAGS=$hold_ldflags AC_MSG_RESULT($found) if test "$found" = yes; then @@ -680,7 +637,7 @@ AC_SUBST(IRC_CFLAGS) AC_SUBST(SEDOBJ) -if test "$prefix" = "NONE"; then +if test "$prefix" = "NONE"; then AC_DEFINE_UNQUOTED(IRCD_PREFIX, "$ac_default_prefix", [Prefix where the ircd is installed.]) else @@ -690,7 +647,7 @@ dnl a custom prefix with a trailing slash prefix=`echo $prefix | sed 's/\/$//'` AC_DEFINE_UNQUOTED(IRCD_PREFIX, "$prefix", [Prefix where the ircd is installed.]) - + fi AC_CONFIG_FILES( \ @@ -722,8 +679,6 @@ Configuration of ${BRANDING_NAME}-${BRANDING_VERSION}: Ziplinks : $zlib OpenSSL : $openssl - Small network : $small_net - Block allocator : $balloc Nickname length : $NICKLEN Topic length : $TOPICLEN