X-Git-Url: https://jfr.im/git/solanum.git/blobdiff_plain/35472d0f1f52c31213cf9f96b4d80da91d27a865..c7561f03ef5802a0ccb10c49788cc21bcaa45e06:/configure.ac diff --git a/configure.ac b/configure.ac index 333a793d..e03c7157 100644 --- a/configure.ac +++ b/configure.ac @@ -4,7 +4,7 @@ dnl said functions need to be just about as complex as they already are. AC_PREREQ(2.60) -AC_INIT([charybdis], [3.6.0-dev]) +AC_INIT([charybdis], [4.1.3-dev]) AC_LANG(C) AC_USE_SYSTEM_EXTENSIONS @@ -121,7 +121,8 @@ AS_IF([test "x$enable_fhs_paths" = "xyes"], pkglibexecdir='${libexecdir}/${PACKAGE_TARNAME}' rundir=${rundir-'${prefix}/run'} pkgrundir='${rundir}/${PACKAGE_TARNAME}' - pkglocalstatedir='${localstatedir}/${PACKAGE_TARNAME}'], + pkglocalstatedir='${localstatedir}/${PACKAGE_TARNAME}' + AC_DEFINE([ENABLE_FHS_PATHS], [1], [Uncomment if FHS pathnames are enabled])], [libexecdir='${bindir}' pkglibexecdir='${libexecdir}' rundir='${sysconfdir}' @@ -167,9 +168,6 @@ if test x"$SUN" = xyes; then AC_SEARCH_LIBS(inet_ntoa, nsl,, [AC_MSG_ERROR([libnsl not found! Aborting.])]) fi -AC_ARG_ENABLE(ipv6, -AC_HELP_STRING([--enable-ipv6],[Enable IPv6 support]),[ipv6=$enableval],[ipv6=no]) - AC_SEARCH_LIBS(crypt, [crypt descrypt],,) CRYPT_LIB=$ac_cv_search_crypt @@ -188,34 +186,8 @@ 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 - charybdis will not compile without it **])]) AC_CHECK_FUNCS([strlcat strlcpy]) -AC_CHECK_TYPE([u_int32_t], [], -[ - AC_CHECK_TYPE([uint32_t], - [ - AC_DEFINE(u_int32_t, [uint32_t], [If system does not define u_int32_t, define a reasonable substitute.]) - ], - [ - AC_MSG_WARN([system has no u_int32_t or uint32_t, default to unsigned long int]) - AC_DEFINE(u_int32_t, [unsigned long int], [If system does not define u_int32_t, define to unsigned long int here.]) - ]) -]) - -AC_CHECK_TYPE([u_int16_t], [], -[ - AC_CHECK_TYPE([uint16_t], - [ - AC_DEFINE(u_int16_t, [uint16_t], [If system does not define u_int16_t, define a usable substitute]) - ], - [ - AC_MSG_WARN([system has no u_int16_t or uint16_t, default to unsigned short int]) - AC_DEFINE(u_int16_t, [unsigned short int], [If system does not define u_int16_t, define a usable substitute.]) - ]) -]) - -AC_CHECK_TYPE([in_port_t], [], -[AC_DEFINE(in_port_t, [u_int16_t], [If system does not define in_port_t, define it to what it should be.])], -[[#include -#include ]]) +AC_TYPE_INT16_T +AC_TYPE_INT32_T AC_CHECK_TYPE([sa_family_t], [], [AC_DEFINE(sa_family_t, [u_int16_t], [If system does not define sa_family_t, define it here.])], @@ -348,6 +320,28 @@ dnl End OpenSSL detection dnl Specialized functions and libraries dnl =================================== +AC_ARG_ENABLE(hyperscan, +AC_HELP_STRING([--disable-hyperscan],[Disable hyperscan support]), +[hyperscan=$enableval],[hyperscan=yes]) + +AS_IF([test "$hyperscan" = yes], [ + save_CPPFLAGS="$CPPFLAGS" + save_LIBS="$LIBS" + PKG_CHECK_MODULES([HS], [libhs >= 4], [], [hyperscan=no]) + CPPFLAGS="$CPPFLAGS $HS_CFLAGS" + LIBS="$LIBS $HS_LIBS" + AC_CHECK_HEADER([hs_common.h], [], [hyperscan=no]) + AC_CHECK_FUNC([hs_scan], [], [hyperscan=no]) +]) + +AS_IF([test "$hyperscan" = no], [ + CPPFLAGS="$save_CPPFLAGS" + LIBS="$save_LIBS" +]) + +AM_CONDITIONAL([HAVE_HYPERSCAN], [test "$hyperscan" = "yes"]) + + AC_ARG_WITH(zlib-path, AC_HELP_STRING([--with-zlib-path=DIR],[Path to libz.so for ziplinks support.]), [LIBS="$LIBS -L$withval"],) @@ -368,6 +362,26 @@ AC_CHECK_HEADER(zlib.h, [ fi +AC_ARG_WITH(sctp-path, +AC_HELP_STRING([--with-sctp-path=DIR],[Path to libsctp.so for SCTP support.]), +[LIBS="$LIBS -L$withval"],) + +AC_ARG_ENABLE(sctp, +AC_HELP_STRING([--disable-sctp],[Disable SCTP support]), +[sctp=$enableval],[sctp=yes]) + +if test "$sctp" = yes; then + +AC_CHECK_HEADER(netinet/sctp.h, [ + AC_CHECK_LIB(sctp, sctp_bindx, + [ + AC_SUBST(LIBSCTP_LD, -lsctp) + AC_DEFINE(HAVE_LIBSCTP, 1, [Define to 1 if libsctp (-lsctp) is available.]) + ], sctp=no) +], sctp=no) + +fi + dnl Check for shared sqlite dnl ====================== AC_ARG_WITH(shared-sqlite, @@ -603,6 +617,14 @@ AC_HELP_STRING([--with-topiclen=NUMBER],[Set the max topic length to NUMBER (def AC_DEFINE_UNQUOTED(TOPICLEN, ${TOPICLEN}, [Maximum topic length (<=390)]) AC_DEFINE_UNQUOTED(NICKLEN, (${NICKLEN}+1), [Nickname length]) + +AC_ARG_WITH(asan, +AC_HELP_STRING([--with-asan],[Build with Address Sanitizer]), +[ + CFLAGS="$CFLAGS -fsanitize=address" + LDFLAGS="$LDFLAGS -fsanitize=address" +]) + # rpath, for finding librb.so at run time hold_ldflags=$LDFLAGS AC_MSG_CHECKING(for the ld -rpath flag) @@ -681,9 +703,11 @@ AC_CONFIG_FILES( \ authd/Makefile \ bandb/Makefile \ ssld/Makefile \ + wsockd/Makefile \ extensions/Makefile \ ircd/Makefile \ modules/Makefile \ + tests/Makefile \ tools/Makefile \ tools/genssl \ doc/Makefile \ @@ -705,6 +729,7 @@ Configuration of ${BRANDING_NAME}-${BRANDING_VERSION}: Ziplinks : $zlib OpenSSL : $openssl + SCTP : $sctp Nickname length : $NICKLEN Topic length : $TOPICLEN