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.3.0])
AC_CONFIG_HEADER(include/setup.h)
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*)
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.])
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.
AC_SUBST_DIR([moduledir])]
)
+dnl **********************************************************************
+dnl Branding
+dnl **********************************************************************
+
+AC_MSG_CHECKING([whether custom branding is requested])
+AC_ARG_WITH(custom-branding,
+AC_HELP_STRING([--with-custom-branding=NAME],
+ [Custom branding name.]),
+ [BRANDING_NAME=$withval
+ AC_MSG_RESULT([yes])],
+ [BRANDING_NAME=$PACKAGE_NAME
+ AC_MSG_RESULT([no])]
+)
+
+AC_MSG_CHECKING([whether a custom version is requested])
+AC_ARG_WITH(custom-version,
+AC_HELP_STRING([--with-custom-version=NAME],
+ [Custom version branding.]),
+ [BRANDING_VERSION=$withval
+ AC_MSG_RESULT([yes])],
+ [BRANDING_VERSION=$PACKAGE_VERSION
+ AC_MSG_RESULT([no])]
+)
+
+AC_DEFINE_UNQUOTED(BRANDING_NAME, ["$BRANDING_NAME"], [Custom branding name.])
+AC_DEFINE_UNQUOTED(BRANDING_VERSION, ["$BRANDING_VERSION"], [Custom branding name.])
+
+if test "x$BRANDING_NAME" != "x$PACKAGE_NAME"; then
+ AC_DEFINE(CUSTOM_BRANDING, 1, [Define if custom branding is enabled.])
+fi
+
if test ! -z "$SELECT_TYPE_EXPLICIT"; then
SELECT_TYPE="$SELECT_TYPE_EXPLICIT";
echo "Forcing $SELECT_TYPE to be enabled"
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])
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])
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
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)
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"
],[])
AC_CONFIG_FILES( \
Makefile \
+ bandb/Makefile \
ssld/Makefile \
extensions/Makefile \
- unsupported/Makefile \
src/Makefile \
modules/Makefile \
tools/Makefile \
fi
echo "
-Configuration:
+Configuration of ${BRANDING_NAME}-${BRANDING_VERSION}:
Install directory : $prefix
Ziplinks : $zlib
Nickname length : $NICKLEN
Topic length : $TOPICLEN
-Use (g)make to compile Charybdis, then (g)make install to install it.
+Use (g)make to compile $BRANDING_NAME, then (g)make install to install it.
"