]> jfr.im git - irc/rqf/shadowircd.git/blobdiff - configure.ac
Branch merge.
[irc/rqf/shadowircd.git] / configure.ac
index 954a0642ea6624b7a5933afbce7543128aed3cba..41f48e79587999dbfd38c54b34425a8492f51a94 100644 (file)
@@ -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 $])
 
 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([charybdis],[3.1])
 
 AC_CONFIG_HEADER(include/setup.h)
 
 
 AC_CONFIG_HEADER(include/setup.h)
 
@@ -81,7 +81,7 @@ esac
 
 fi
 
 
 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*)
 OSNAME=`uname -s`
 case "$OSNAME" in
         HP-UX*)
@@ -96,10 +96,6 @@ case "$OSNAME" in
                        AC_MSG_RESULT(already using newer HPUX)
                fi
        ;;
                        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.])
        SunOS*)
                AC_MSG_RESULT(SunOS or Solaris)
                AC_DEFINE(__EXTENSIONS__, 1, [This is needed to use strtok_r on Solaris.])
@@ -128,7 +124,7 @@ if test "$ac_cv_c_compiler_gnu" = yes; then
        ;;
        esac
 
        ;;
        esac
 
-       IRC_CFLAGS="$IRC_CFLAGS -O0 -Wall"
+       IRC_CFLAGS="$IRC_CFLAGS -O0 -Wall -std=gnu99"
 fi
 
 dnl If we support -g, use it!
 fi
 
 dnl If we support -g, use it!
@@ -255,44 +251,6 @@ AC_CHECK_SIZEOF(int)
 AC_CHECK_SIZEOF(long)
 AC_CHECK_SIZEOF(long long)
 
 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 <stdio.h>
-#if HAVE_UNISTD_H
-# include <unistd.h>
-#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 ====================
 
 dnl Networking Functions
 dnl ====================
 
@@ -303,11 +261,6 @@ if test x"$SUN" = xyes; then
        AC_SEARCH_LIBS(inet_ntoa, nsl,, [AC_MSG_ERROR([libnsl not found! Aborting.])])
 fi
 
        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 <sys/types.h>
-#include <sys/socket.h>
-]])
-
 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.])],
 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.])],
@@ -358,7 +311,7 @@ fi
 AC_C_BIGENDIAN
 
 dnl Check for stdarg.h - if we can't find it, halt configure
 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.
 
 dnl Checks for the existence of strlcat, strlcpy, basename...
 dnl This more reliable test only works with gcc though.
@@ -911,6 +864,9 @@ fi
 AC_ARG_WITH(nicklen,
 AC_HELP_STRING([--with-nicklen=LENGTH],[Set the nick length to LENGTH (default 15, max 50)]),
 [
 AC_ARG_WITH(nicklen,
 AC_HELP_STRING([--with-nicklen=LENGTH],[Set the nick length to LENGTH (default 15, 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])
   if test $withval -ge 50; then
        NICKLEN=50
        AC_MSG_WARN([NICKLEN has a hard limit of 50. Setting NICKLEN=50])
@@ -936,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
 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])
        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])
@@ -1063,9 +1013,21 @@ if test "$shared_modules" = yes; then
        fi
 fi
 
        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
 # 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.]),
 [
 AC_ARG_ENABLE(warnings,
 AC_HELP_STRING([--enable-warnings],[Enable all sorts of warnings for debugging.]),
 [
@@ -1077,6 +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([-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)
 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)
@@ -1090,7 +1054,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([-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"
 CHARYBDIS_C_GCC_TRY_FLAGS([-pedantic], charybdis_cv_c_gcc_pedantic)
 
 IRC_CFLAGS="$CFLAGS"
@@ -1165,6 +1129,8 @@ EOF
        fi
 fi
 
        fi
 fi
 
+IRC_CFLAGS="$IRC_CFLAGS $CWARNS"
+
 AC_SUBST(MODULES_LIBS)
 AC_SUBST(MOD_TARGET)
 
 AC_SUBST(MODULES_LIBS)
 AC_SUBST(MOD_TARGET)
 
@@ -1193,7 +1159,7 @@ fi
 
 AC_CONFIG_FILES(                       \
        Makefile                        \
 
 AC_CONFIG_FILES(                       \
        Makefile                        \
-       servlink/Makefile               \
+       ssld/Makefile                   \
        extensions/Makefile             \
        unsupported/Makefile            \
        src/Makefile                    \
        extensions/Makefile             \
        unsupported/Makefile            \
        src/Makefile                    \
@@ -1230,5 +1196,5 @@ Configuration:
        Nickname length    : $NICKLEN
        Topic length       : $TOPICLEN
 
        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.
 "
 "