]> jfr.im git - irc/rqf/shadowircd.git/blobdiff - configure.ac
burst_TS6(): assume users have a UID
[irc/rqf/shadowircd.git] / configure.ac
index 2329896af5e8cb36cfd20e3191048869cd7d5d78..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 $])
 
-AC_INIT([charybdis],[3.0.0-RC1])
+AC_INIT([charybdis],[3.1])
 
 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.])
@@ -315,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.
@@ -868,6 +864,9 @@ fi
 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])
@@ -893,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])
@@ -1020,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
@@ -1035,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)