mirror of
https://github.com/owasp-modsecurity/ModSecurity.git
synced 2025-08-15 23:55:03 +03:00
186 lines
4.0 KiB
Plaintext
186 lines
4.0 KiB
Plaintext
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
|
|
|
|
|
|
### Defaults
|
|
|
|
EXTRA_CFLAGS="-Wc,-O2 -Wc,-g -Wc,-Wall -Wc,-Werror"
|
|
|
|
|
|
### Configure Options
|
|
|
|
# DEBUG_CONF
|
|
AC_ARG_ENABLE(debug-conf,AS_HELP_STRING(--enable-debug-conf,Enable debug during configuration (testing only)),
|
|
[
|
|
if test "$enableval" != "no"; then
|
|
debug_conf="-Wc,-DDEBUG_CONF"
|
|
else
|
|
debug_conf=
|
|
fi
|
|
],
|
|
[
|
|
debug_conf=
|
|
])
|
|
|
|
# CACHE_DEBUG
|
|
AC_ARG_ENABLE(debug-cache,AS_HELP_STRING(--enable-debug-cache,Enable debug for transformation caching (testing only)),
|
|
[
|
|
if test "$enableval" != "no"; then
|
|
debug_cache="-Wc,-DCACHE_DEBUG"
|
|
else
|
|
debug_cache=
|
|
fi
|
|
],
|
|
[
|
|
debug_cache=
|
|
])
|
|
|
|
# PERFORMANCE_MEASUREMENT
|
|
AC_ARG_ENABLE(performance-measurement,AS_HELP_STRING(--enable-performance-measurement,Enable performance-measurement stats (testing only)),
|
|
[
|
|
if test "$enableval" != "no"; then
|
|
perf_meas="-Wc,-DPERFORMANCE_MEASUREMENT"
|
|
else
|
|
perf_meas=
|
|
fi
|
|
],
|
|
[
|
|
perf_meas=
|
|
])
|
|
|
|
# NO_MODSEC_API
|
|
AC_ARG_ENABLE(modsec-api,AS_HELP_STRING(--disable-modsec-api,Disable the API (compiling against some older Apache versions require this)),
|
|
[
|
|
if test "$enableval" != "yes"; then
|
|
modsec_api="-Wc,-DNO_MODSEC_API"
|
|
else
|
|
modsec_api=
|
|
fi
|
|
],
|
|
[
|
|
modsec_api=
|
|
])
|
|
|
|
|
|
EXTRA_CFLAGS="$EXTRA_CFLAGS $debug_conf $debug_cache $perf_meas $modsec_api"
|
|
|
|
### Substitute the vars
|
|
|
|
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)
|
|
AC_SUBST(EXTRA_CFLAGS)
|
|
|
|
CHECK_PCRE()
|
|
CHECK_APR()
|
|
CHECK_APU()
|
|
CHECK_LIBXML()
|
|
CHECK_LUA()
|
|
|
|
AC_CONFIG_FILES([Makefile])
|
|
|
|
AC_OUTPUT
|