X-Git-Url: https://jfr.im/git/irc/rqf/shadowircd.git/blobdiff_plain/cc200171d7c40be3b204460f9c14d5d37e771866..45f5f151f80c1f8ef7f16e9729921d502944fbac:/configure.ac diff --git a/configure.ac b/configure.ac index 0ebc52d..efd1e79 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],[2.3.0]) +AC_INIT([charybdis],[3.1]) AC_CONFIG_HEADER(include/setup.h) @@ -128,7 +128,7 @@ if test "$ac_cv_c_compiler_gnu" = yes; then ;; esac - IRC_CFLAGS="$IRC_CFLAGS -O0 -Wall" + IRC_CFLAGS="$IRC_CFLAGS -O0 -Wall -std=gnu99" fi dnl If we support -g, use it! @@ -255,44 +255,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 ==================== @@ -303,11 +265,6 @@ if test x"$SUN" = xyes; then AC_SEARCH_LIBS(inet_ntoa, nsl,, [AC_MSG_ERROR([libnsl not found! Aborting.])]) fi -AC_CHECK_MEMBER([struct sockaddr.sa_len], [AC_DEFINE(SOCKADDR_IN_HAS_LEN, 1, [Define to 1 if sockaddr has a 'sa_len' -member.])],,[[#include -#include -]]) - AC_CHECK_TYPE(socklen_t, , [AC_DEFINE([socklen_t], [unsigned int], [If we don't have a real socklen_t, unsigned int is good enough.])], @@ -317,50 +274,6 @@ AC_CHECK_TYPE(socklen_t, , AC_ARG_ENABLE(ipv6, AC_HELP_STRING([--enable-ipv6],[Enable IPv6 support]),[ipv6=$enableval],[ipv6=no]) -if test $ipv6 != yes; then - have_v6="no" -else -AC_MSG_CHECKING([for core IPv6 support]) - -AC_COMPILE_IFELSE( -[AC_LANG_PROGRAM( - [[#define IN_AUTOCONF - #include - #include - #include ]], - [[struct sockaddr_in6 s; - s.sin6_family = 0;]] - )], -[ - if test "$CYGWIN" = "yes"; then - AC_MSG_RESULT([no, Cygwin's IPv6 is incomplete]) - have_v6=no - else - have_v6=yes - AC_DEFINE(IPV6, 1, [Define if IPv6 support is present and available.]) - AC_MSG_RESULT(yes) - AC_MSG_CHECKING([for struct in6addr_any]) - AC_COMPILE_IFELSE( - [AC_LANG_PROGRAM( - [[#define IN_AUTOCONF - #include - #include - #include ]], - [[struct in6_addr a = in6addr_any;]] - )], - [AC_MSG_RESULT(yes)], - [ - AC_MSG_RESULT(no) - AC_DEFINE(NO_IN6ADDR_ANY, 1, [Define to 1 if your system has no in6addr_any.]) - inet_misc=1 - ] - ) - fi -], -[AC_MSG_RESULT(no) -have_v6="no"]) -fi - AC_SEARCH_LIBS(crypt, [crypt descrypt],,) CRYPT_LIB=$ac_cv_search_crypt @@ -929,6 +842,8 @@ dnl AC_DEFINE([HASHSIZE], 4096, [Max number of buckets in hash tables.]) 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 @@ -946,6 +861,8 @@ dnl so enable small net unless you really need this much support 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_ARG_WITH(nicklen, @@ -1103,9 +1020,21 @@ 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 +CWARNS="" AC_ARG_ENABLE(warnings, AC_HELP_STRING([--enable-warnings],[Enable all sorts of warnings for debugging.]), [ @@ -1117,6 +1046,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_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) @@ -1130,7 +1061,7 @@ CHARYBDIS_C_GCC_TRY_FLAGS([-Wbad-function-cast], charybdis_cv_c_gcc_w_bad_functi 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=2], charybdis_cv_c_gcc_w_format) +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) IRC_CFLAGS="$CFLAGS" @@ -1205,6 +1136,8 @@ EOF fi fi +IRC_CFLAGS="$IRC_CFLAGS $CWARNS" + AC_SUBST(MODULES_LIBS) AC_SUBST(MOD_TARGET) @@ -1233,7 +1166,7 @@ fi AC_CONFIG_FILES( \ Makefile \ - servlink/Makefile \ + ssld/Makefile \ extensions/Makefile \ unsupported/Makefile \ src/Makefile \ @@ -1263,7 +1196,6 @@ Configuration: Ziplinks : $zlib OpenSSL : $openssl - IPv6 support : $have_v6 Socket Engine : $SELECT_TYPE Small network : $small_net Block allocator : $balloc @@ -1271,5 +1203,5 @@ Configuration: Nickname length : $NICKLEN Topic length : $TOPICLEN -Use make to compile Charybdis, then make install to install it. +Use (g)make to compile Charybdis, then (g)make install to install it. "