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.2])
+AC_INIT([charybdis], [3.4.0-dev])
AC_CONFIG_HEADER(include/setup.h)
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
],)
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
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
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
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"
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)]),
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
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.
"