X-Git-Url: https://jfr.im/git/irc/rqf/shadowircd.git/blobdiff_plain/35b7f9ab054426c0703bb276017bcab6b35aef6c..0284952c9f6edad14e18ce588cb21eb04d92c91f:/configure.ac diff --git a/configure.ac b/configure.ac index ee756cf..c5219ee 100644 --- a/configure.ac +++ b/configure.ac @@ -10,7 +10,7 @@ AC_PREREQ(2.57) dnl Sneaky way to get an Id tag into the configure script AC_COPYRIGHT([$Id: configure.ac 3516 2007-06-10 16:14:03Z jilles $]) -AC_INIT([charybdis],[3.0.0-alpha1]) +AC_INIT([shadowircd],[6.2.0]) AC_CONFIG_HEADER(include/setup.h) @@ -81,7 +81,7 @@ esac fi -AC_MSG_CHECKING([uname -s for Cygwin, Solaris, AIX or HPUX]) +AC_MSG_CHECKING([uname -s for Solaris, AIX or HPUX]) OSNAME=`uname -s` case "$OSNAME" in HP-UX*) @@ -96,10 +96,6 @@ case "$OSNAME" in AC_MSG_RESULT(already using newer HPUX) fi ;; - CYGWIN*) - AC_MSG_RESULT(Cygwin) - CYGWIN=yes - ;; SunOS*) AC_MSG_RESULT(SunOS or Solaris) AC_DEFINE(__EXTENSIONS__, 1, [This is needed to use strtok_r on Solaris.]) @@ -255,44 +251,6 @@ AC_CHECK_SIZEOF(int) AC_CHECK_SIZEOF(long) AC_CHECK_SIZEOF(long long) -dnl Memory manager -dnl ============== - -AC_MSG_CHECKING([the system's memory page size]) -pagesize="no" -AC_TRY_RUN([ -#include -#if HAVE_UNISTD_H -# include -#endif - -int main(void) { - FILE *fp = fopen("conftest.malloc", "w"); - - if (fp != NULL) { - fprintf(fp, "%d\n", getpagesize()); - fclose(fp); - } else - exit(1); - exit(0); -}],[ -if test -f "conftest.malloc" ; then - pagesize=`cat conftest.malloc` -fi -]) -if test "$pagesize" != "no" ; then - AC_MSG_RESULT($pagesize) -else - if test "$ac_cv_sizeof_int" = "4" ; then - pagesize=4096 - else - pagesize=8192 - fi - AC_MSG_RESULT([$pagesize (guessing)]) -fi -AC_DEFINE_UNQUOTED(MALLOC_PAGESIZE, $pagesize, - [the system's memory page size]) - dnl Networking Functions dnl ==================== @@ -353,7 +311,7 @@ fi AC_C_BIGENDIAN dnl Check for stdarg.h - if we can't find it, halt configure -AC_CHECK_HEADER(stdarg.h, , [AC_MSG_ERROR([** stdarg.h could not be found - ircd-ratbox will not compile without it **])]) +AC_CHECK_HEADER(stdarg.h, , [AC_MSG_ERROR([** stdarg.h could not be found - charybdis will not compile without it **])]) dnl Checks for the existence of strlcat, strlcpy, basename... dnl This more reliable test only works with gcc though. @@ -861,8 +819,8 @@ if test "$balloc" = no; then fi AC_ARG_ENABLE(small-net, -AC_HELP_STRING([--enable-small-net],[Enable small network support.]), -[small_net=$enableval], [small_net=no]) +AC_HELP_STRING([--disable-small-net],[Disable small network support.]), +[small_net=$enableval], [small_net=yes]) if test "$small_net" = yes; then dnl AC_DEFINE([HASHSIZE], 4096, [Max number of buckets in hash tables.]) @@ -904,15 +862,18 @@ dnl so enable small net unless you really need this much support fi AC_ARG_WITH(nicklen, -AC_HELP_STRING([--with-nicklen=LENGTH],[Set the nick length to LENGTH (default 15, max 50)]), +AC_HELP_STRING([--with-nicklen=LENGTH],[Set the nick length to LENGTH (default 31, max 50)]), [ + if ! expr "$withval" + 0 >/dev/null 2>&1; then + AC_ERROR([NICKLEN must be a numeric value]) + fi if test $withval -ge 50; then NICKLEN=50 AC_MSG_WARN([NICKLEN has a hard limit of 50. Setting NICKLEN=50]) else NICKLEN="$withval" fi -], [NICKLEN=15]) +], [NICKLEN=31]) AC_ARG_WITH(topiclen, AC_HELP_STRING([--with-topiclen=NUMBER],[Set the max topic length to NUMBER (default 390, max 390)]), @@ -931,12 +892,6 @@ AC_DEFINE_UNQUOTED(NICKLEN, (${NICKLEN}+1), [Nickname length]) shared_modules="yes" dnl Some first-stage sanity checks. if test "$shared_modules" = yes; then - - if test "$CYGWIN" = yes; then - AC_MSG_WARN([disabling shared modules; Cygwin is at present unable to build them.]) - shared_modules="no" - fi - dnl TenDRA's cc is called tcc too. if test "$CC" = tcc -a "$TenDRA" = "no"; then AC_MSG_WARN([disabling shared modules: Tiny C Compiler can't create PIC]) @@ -1058,6 +1013,17 @@ if test "$shared_modules" = yes; then fi fi +# rpath, for finding libratbox.so at run time +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) +LDFLAGS=$hold_ldflags +AC_MSG_RESULT($found) +if test "$found" = yes; then + LDFLAGS="${LDFLAGS} -Wl,-rpath=\${libdir}" +fi + # This must be down here, or it will mess up checks like the ones # for -Wl,-export-dynamic # -- jilles @@ -1073,7 +1039,8 @@ CHARYBDIS_C_GCC_TRY_FLAGS([-Wpointer-arith], charybdis_cv_c_gcc_w_pointer_arith) CHARYBDIS_C_GCC_TRY_FLAGS([-Wimplicit -Wnested-externs], charybdis_cv_c_gcc_w_implicit) CHARYBDIS_C_GCC_TRY_FLAGS([-Wcast-align], charybdis_cv_c_gcc_w_cast_align) CHARYBDIS_C_GCC_TRY_FLAGS([-Wcast-qual], charybdis_cv_c_gcc_w_cast_qual) -CHARYBDIS_C_GCC_TRY_FLAGS([-Wwrite-strings], charybdis_cv_c_gcc_w_float_equal) +CHARYBDIS_C_GCC_TRY_FLAGS([-Wwrite-strings], charybdis_cv_c_gcc_w_write_strings) +CHARYBDIS_C_GCC_TRY_FLAGS([-Werror-implicit-function-declaration], charybdis_cv_c_gcc_w_error_implicit_function_declaration) CHARYBDIS_C_GCC_TRY_FLAGS([-Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations], charybdis_cv_c_gcc_prototypes) CHARYBDIS_C_GCC_TRY_FLAGS([-Wparenthesis], charybdis_cv_c_gcc_parenthesis) CHARYBDIS_C_GCC_TRY_FLAGS([-W -Wno-unused], charybdis_cv_c_gcc_w) @@ -1083,12 +1050,10 @@ CHARYBDIS_C_GCC_TRY_FLAGS([-Wmissing-noreturn], charybdis_cv_c_gcc_w_missing_nor CHARYBDIS_C_GCC_TRY_FLAGS([-Wundef], charybdis_cv_c_gcc_w_undef) CHARYBDIS_C_GCC_TRY_FLAGS([-Wpacked], charybdis_cv_c_gcc_w_packed) CHARYBDIS_C_GCC_TRY_FLAGS([-Wnested-externs], charybdis_cv_c_gcc_w_nested_externs) -CHARYBDIS_C_GCC_TRY_FLAGS([-Wbad-function-cast], charybdis_cv_c_gcc_w_bad_function_cast) CHARYBDIS_C_GCC_TRY_FLAGS([-Wunused-function -Wunused-label -Wunused-value -Wunused-variable], charybdis_cv_c_gcc_w_unused) CHARYBDIS_C_GCC_TRY_FLAGS([-Wredundant-decls], charybdis_cv_c_gcc_w_redundant_decls) CHARYBDIS_C_GCC_TRY_FLAGS([-Wfloat-equal], charybdis_cv_c_gcc_w_float_equal) -CHARYBDIS_C_GCC_TRY_FLAGS([-Wformat -Wformat-y2k -Wformat-security], charybdis_cv_c_gcc_w_format) -CHARYBDIS_C_GCC_TRY_FLAGS([-pedantic], charybdis_cv_c_gcc_pedantic) +CHARYBDIS_C_GCC_TRY_FLAGS([-Wformat -Wformat-y2k -Wno-format-security], charybdis_cv_c_gcc_w_format) IRC_CFLAGS="$CFLAGS" ],[]) @@ -1192,6 +1157,7 @@ fi AC_CONFIG_FILES( \ Makefile \ + bandb/Makefile \ ssld/Makefile \ extensions/Makefile \ unsupported/Makefile \ @@ -1229,5 +1195,5 @@ Configuration: Nickname length : $NICKLEN Topic length : $TOPICLEN -Use (g)make to compile Charybdis, then (g)make install to install it. +Use (g)make to compile ShadowIRCd, then (g)make install to install it. "