X-Git-Url: https://jfr.im/git/solanum.git/blobdiff_plain/f173c7d864d3b0f2ebf27a8b437a789b516ccc6a..ef861b056737b36111bab44bfb4ef07f47ea25e6:/configure.ac diff --git a/configure.ac b/configure.ac index 41f48e79..8896b4de 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.1]) +AC_INIT([charybdis], [3.5.0-dev]) AC_CONFIG_HEADER(include/setup.h) @@ -225,12 +225,37 @@ if test "$LEX" = ":"; then AC_MSG_ERROR([could not locate a suitable lexical generator, install flex or lex.]) fi +AC_ARG_ENABLE([fhs-paths], + [AS_HELP_STRING([--enable-fhs-paths], [Use more FHS-like pathnames (for packagers).])], + [], + [dnl detect if the user appears to want --enable-fhs-paths + AS_IF([test "$libexecdir" = '${exec_prefix}/libexec' && \ + test "$localstatedir" = '${prefix}/var' && \ + test "$libdir" = '${exec_prefix}/lib'], + [enable_fhs_paths=no], + [enable_fhs_paths=yes]) + ]) dnl use directory structure of cached as default (hack) -if test "$libexecdir" = '${exec_prefix}/libexec' && - test "$localstatedir" = '${prefix}/var'; then - libexecdir='${bindir}' +AS_IF([test "x$enable_fhs_paths" = "xyes"], + [dnl Avoid name collisions. + pkglibexecdir='${libexecdir}/${PACKAGE_TARNAME}' + rundir=${rundir-'${prefix}/run'} + pkgrundir='${rundir}/${PACKAGE_TARNAME}' + pkglocalstatedir='${localstatedir}/${PACKAGE_TARNAME}'], + [libexecdir='${bindir}' + pkglibexecdir='${libexecdir}' + rundir='${sysconfdir}' + pkgrundir='${rundir}' localstatedir='${prefix}' -fi + pkglocalstatedir='${sysconfdir}']) +pkglibdir='${libdir}/${PACKAGE_TARNAME}' +AC_SUBST([pkglibdir]) +AC_SUBST([rundir]) +AC_SUBST([pkgrundir]) +AC_SUBST([pkglocalstatedir]) +AC_DEFINE_DIR([PKGLOCALSTATEDIR], [pkglocalstatedir], [[Directory in which to store state, such as band database]]) +AC_SUBST([pkglibexecdir]) +AC_DEFINE_DIR([PKGLIBEXECDIR], [pkglibexecdir], [Directory where binaries the IRCd itself spawns live]) dnl Checks for header files. AC_HEADER_STDC @@ -584,22 +609,15 @@ AC_ARG_ENABLE(epoll, AC_HELP_STRING([--enable-epoll],[Force sys_epoll usage (Lin ],) dnl ********************************************************************** -dnl Check for --with-confdir +dnl Check for --with-confdir [deprecated, use --sysconfdir instead] dnl ********************************************************************** -AC_MSG_CHECKING([whether to modify confdir]) -AC_ARG_WITH(confdir, -AC_HELP_STRING([--with-confdir=DIR], - [Directory to install config files.]), - [ confdir=`echo $withval | sed 's/\/$//'` - AC_MSG_RESULT(yes) - AC_DEFINE_DIR(ETC_DIR, confdir, [Prefix where config files are installed.]) - AC_SUBST_DIR([confdir]) ], - [ confdir='${prefix}/etc' - AC_MSG_RESULT(no) - AC_DEFINE_DIR(ETC_DIR, confdir, [Prefix where config files are installed.]) - AC_SUBST_DIR([confdir])] -) +AC_ARG_WITH([confdir], + [AC_HELP_STRING([--with-confdir=DIR], + [Directory to install config files [deprecated, use --sysconfdir instead].])], + [ sysconfdir=`echo $withval | sed 's/\/$//'` ], + [ confdir='${sysconfdir}' ]) +AC_DEFINE_DIR([ETC_DIR], [sysconfdir], [Prefix where config files are installed.]) dnl ********************************************************************** dnl Check for --with-logdir @@ -610,14 +628,13 @@ AC_ARG_WITH(logdir, AC_HELP_STRING([--with-logdir=DIR], [Directory where to write logfiles.]), [ logdir=`echo $withval | sed 's/\/$//'` - AC_MSG_RESULT(yes) - AC_DEFINE_DIR(LOG_DIR, logdir, [Prefix where to write logfiles.]) - AC_SUBST_DIR([logdir]) ], - [ logdir='${prefix}/logs' - AC_MSG_RESULT(no) - AC_DEFINE_DIR(LOG_DIR, logdir, [Prefix where to write logfiles.]) - AC_SUBST_DIR([logdir])] -) + AC_MSG_RESULT(yes)], + [ AS_IF([test "x$enable_fhs_paths" = "xyes"], + [logdir='${localstatedir}/log/${PACKAGE_TARNAME}'], + [logdir='${prefix}/logs']) + AC_MSG_RESULT(no)]) +AC_DEFINE_DIR([LOG_DIR], [logdir], [Prefix where to write logfiles.]) +AC_SUBST_DIR([logdir]) dnl ********************************************************************** dnl Check for --with-helpdir @@ -628,14 +645,13 @@ AC_ARG_WITH(helpdir, AC_HELP_STRING([--with-helpdir=DIR], [Directory to install help files.]), [ helpdir=`echo $withval | sed 's/\/$//'` - AC_MSG_RESULT(yes) - AC_DEFINE_DIR(HELP_DIR, helpdir, [Prefix where help files are installed.]) - AC_SUBST_DIR([helpdir]) ], - [ helpdir='${prefix}/help' - AC_MSG_RESULT(no) - AC_DEFINE_DIR(HELP_DIR, helpdir, [Prefix where help file are installed.]) - AC_SUBST_DIR([helpdir])] -) + AC_MSG_RESULT(yes) ], + [ AS_IF([test "x$enable_fhs_paths" = "xyes"], + [helpdir='${datadir}/${PACKAGE_TARNAME}/help'], + [helpdir='${prefix}/help']) + AC_MSG_RESULT(no) ]) +AC_DEFINE_DIR([HELP_DIR], [helpdir], [Prefix where help files are installed.]) +AC_SUBST_DIR([helpdir]) dnl ********************************************************************** dnl Check for --with-moduledir @@ -643,18 +659,76 @@ dnl ********************************************************************** AC_MSG_CHECKING([whether to modify moduledir]) AC_ARG_WITH(moduledir, -AC_HELP_STRING([--with-moduledir=DIR], - [Directory to install modules.]), + [AC_HELP_STRING([--with-moduledir=DIR], + [Directory to install modules.])], [ moduledir=`echo $withval | sed 's/\/$//'` - AC_MSG_RESULT(yes) - AC_DEFINE_DIR(MODULE_DIR, moduledir, [Prefix where modules are installed.]) - AC_SUBST_DIR([moduledir]) ], - [ moduledir='${prefix}/modules' + AC_MSG_RESULT(yes)], + [ AS_IF([test "x$enable_fhs_paths" = "xyes"], + [moduledir='${pkglibdir}/modules'], + [moduledir='${prefix}/modules']) AC_MSG_RESULT(no) - AC_DEFINE_DIR(MODULE_DIR, moduledir, [Prefix where modules are installed.]) - AC_SUBST_DIR([moduledir])] + ]) +AC_DEFINE_DIR(MODULE_DIR, moduledir, [Prefix where modules are installed.]) +AC_SUBST_DIR([moduledir]) + +dnl Check for --with-rundir + +AC_MSG_CHECKING([whether or modify rundir]) +AC_ARG_WITH([rundir], + [AC_HELP_STRING([--with-rundir=DIR], + [Directory in which to store pidfile.])], + [AC_MSG_RESULT([yes]) + rundir=`echo $withval | sed 's/\/$//'`], + [AC_MSG_RESULT([no]) + AS_IF([test "x$enable_fhs_paths" = "xyes"], + [rundir='${prefix}/run'], + [rundir='${sysconfdir}'])]) +AC_SUBST([rundir]) +AC_DEFINE_DIR([PKGRUNDIR], [pkgrundir], [Directory to store pidfile in.]) + +dnl Installed utility program prefixes (does not affect binaries +dnl installed into pkglibexecdir) +AC_MSG_CHECKING([for program prefix]) +AC_ARG_WITH([program-prefix], + [AS_HELP_STRING([--with-program-prefix=], [If set, programs installed into PATH will be installed with names prefixed by this prefix.])], + [test "x$with_program_prefix" = "xno" && with_program_prefix=], + [with_program_prefix=]) +AC_MSG_RESULT(["$with_program_prefix"]) +PROGRAM_PREFIX="$with_program_prefix" +AC_SUBST([PROGRAM_PREFIX]) +AC_DEFINE_UNQUOTED([PROGRAM_PREFIX], ["$with_program_prefix"], [String with which all programs intended to be in PATH are prefixed.]) + +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" @@ -862,18 +936,21 @@ 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 upper-bound 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 + if test $withval -gt 50; then NICKLEN=50 AC_MSG_WARN([NICKLEN has a hard limit of 50. Setting NICKLEN=50]) + elif test $withval -lt 9; then + NICKLEN=9 + AC_MSG_WARN([NICKLEN has a lower limit of 9. Setting NICKLEN=9]) 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)]), @@ -1050,12 +1127,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" ],[]) @@ -1159,15 +1234,17 @@ fi AC_CONFIG_FILES( \ Makefile \ + bandb/Makefile \ ssld/Makefile \ extensions/Makefile \ - unsupported/Makefile \ src/Makefile \ modules/Makefile \ tools/Makefile \ + tools/genssl.sh \ doc/Makefile \ help/Makefile \ ) +AC_CONFIG_COMMANDS([tools/genssl.sh_chmod], [chmod 755 tools/genssl.sh]) AC_OUTPUT @@ -1184,7 +1261,7 @@ else fi echo " -Configuration: +Configuration of ${BRANDING_NAME}-${BRANDING_VERSION}: Install directory : $prefix Ziplinks : $zlib @@ -1196,5 +1273,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 $BRANDING_NAME, then (g)make install to install it. "