dnl dnl Autoconf configuration for ModSecurity dnl dnl Use ./buildconf to produce a configure script dnl AC_PREREQ(2.50) AC_INIT(ModSecurity, 2.5, mod-security-users@lists.sourceforge.net, modsecurity-apache) AC_CONFIG_SRCDIR([mod_security2.c]) AC_CONFIG_HEADER([mod_security2_config.h]) AC_CONFIG_AUX_DIR([build]) # Checks for programs. AC_PROG_CXX AC_PROG_CC AC_PROG_CPP AC_PROG_INSTALL AC_PROG_LN_S AC_PROG_MAKE_SET AC_PROG_RANLIB # Checks for header files. AC_HEADER_STDC AC_CHECK_HEADERS([fcntl.h limits.h stdlib.h string.h unistd.h]) # Checks for typedefs, structures, and compiler characteristics. AC_C_CONST AC_C_INLINE AC_C_RESTRICT AC_TYPE_SIZE_T AC_STRUCT_TM AC_TYPE_UINT8_T # Checks for library functions. AC_FUNC_MALLOC AC_FUNC_MEMCMP AC_CHECK_FUNCS([atexit getcwd memset strcasecmp strchr strdup strerror strncasecmp strrchr strstr strtol]) # Include M4 macros sinclude(build/find_pcre.m4) sinclude(build/find_lua.m4) sinclude(build/find_xml.m4) sinclude(build/find_apr.m4) sinclude(build/find_apu.m4) AC_MSG_NOTICE(looking for Apache module support via DSO through APXS) AC_ARG_WITH(apxs, [AS_HELP_STRING([[--with-apxs=FILE]], [FILE is the path to apxs; defaults to "apxs".])], [ if test "$withval" = "yes"; then APXS=apxs else APXS="$withval" fi ]) if test -z "$APXS"; then for i in /usr/sbin \ /usr/local/apache22/bin \ /usr/local/apache2/bin \ /usr/local/apache/bin \ /usr/local/sbin ; do if test -f "$i/apxs2"; then APXS="$i/apxs2" break elif test -f "$i/apxs"; then APXS="$i/apxs" break fi done fi # arbitrarily picking the same version subversion looks for, don't know how # accurate this really is, but at least it'll force us to have apache2... HTTPD_WANTED_MMN=20020903 if test -n "$APXS" -a "$APXS" != "no" -a -x "$APXS" ; then APXS_INCLUDE="`$APXS -q INCLUDEDIR`" if test -r $APXS_INCLUDE/httpd.h; then AC_MSG_NOTICE(found apxs at $APXS) AC_MSG_NOTICE(checking httpd version) AC_EGREP_CPP(VERSION_OK, [ #include "$APXS_INCLUDE/ap_mmn.h" #if AP_MODULE_MAGIC_AT_LEAST($HTTPD_WANTED_MMN,0) VERSION_OK #endif], [AC_MSG_NOTICE(httpd is recent enough)], [AC_MSG_ERROR(apache is too old, mmn must be at least $HTTPD_WANTED_MMN)]) fi APXS_INCLUDES="`$APXS -q EXTRA_INCLUDES`" APXS_CFLAGS="`$APXS -q CFLAGS`" APXS_LDFLAGS="`$APXS -q LDFLAGS`" APXS_LIBS="`$APXS -q LIBS`" else AC_MSG_ERROR(couldn't find APXS) fi save_CPPFLAGS=$CPPFLAGS CPPFLAGS="$APXS_INCLUDES $CPPFLAGS" CPPFLAGS=$save_CPPFLAGS AC_SUBST(APXS) AC_SUBST(APXS_INCLUDES) AC_SUBST(APXS_CFLAGS) AC_SUBST(APXS_LDFLAGS) AC_SUBST(APXS_LIBS) CHECK_PCRE() CHECK_APR() CHECK_APU() CHECK_LIBXML() CHECK_LUA() AC_CONFIG_FILES([Makefile]) AC_OUTPUT