X-Git-Url: https://granicus.if.org/sourcecode?a=blobdiff_plain;f=configure.in;h=0309d77c437e29fadcbdc6c2a69e83e10ea5fa2a;hb=f8475c613b6ceb20c495a552dc3037a14942f20e;hp=937cd441f48dfff1cabde6a1fbde1cb7ec6914c1;hpb=6afe8c81728b6b4825f2f631f2b46511da7ce4ca;p=apache diff --git a/configure.in b/configure.in index 937cd441f4..0309d77c43 100644 --- a/configure.in +++ b/configure.in @@ -16,7 +16,7 @@ abs_builddir=`pwd` dnl Ensure that the httpd version is included HTTPD_VERSION=`$abs_srcdir/build/get-version.sh all $abs_srcdir/include/ap_release.h AP_SERVER` -AC_SUBST(HTTPD_VERSION) +HTTPD_MMN=`$abs_srcdir/build/get-version.sh mmn $abs_srcdir/include/ap_mmn.h MODULE_MAGIC_NUMBER` dnl # dnl # Include our own M4 macros along with those for APR and libtool @@ -222,29 +222,37 @@ fi AC_ARG_WITH(pcre, APACHE_HELP_STRING(--with-pcre=PATH,Use external PCRE library)) - -AC_PATH_PROG(PCRE_CONFIG, pcre-config, false) -if test -d "$with_pcre" && test -x "$with_pcre/bin/pcre-config"; then - PCRE_CONFIG=$with_pcre/bin/pcre-config -elif test -x "$with_pcre"; then - PCRE_CONFIG=$with_pcre +if test "x$with_pcre" = "x" || test "$with_pcre" = "yes"; then + with_pcre="$PATH" +else if which $with_pcre 2>/dev/null; then :; else + with_pcre="$with_pcre/bin:$with_pcre" +fi fi -if test "$PCRE_CONFIG" != "false"; then +AC_CHECK_TARGET_TOOLS(PCRE_CONFIG, [pcre2-config pcre-config], + [`which $with_pcre 2>/dev/null`], $with_pcre) + +if test "x$PCRE_CONFIG" != "x"; then if $PCRE_CONFIG --version >/dev/null 2>&1; then :; else - AC_MSG_ERROR([Did not find pcre-config script at $PCRE_CONFIG]) + AC_MSG_ERROR([Did not find working script at $PCRE_CONFIG]) fi case `$PCRE_CONFIG --version` in + [1[0-9].*]) + AC_DEFINE(HAVE_PCRE2, 1, [Detected PCRE2]) + ;; [[1-5].*]) - AC_MSG_ERROR([Need at least pcre version 6.0]) + AC_MSG_ERROR([Need at least pcre version 6.7]) + ;; + [6.[0-6]*]) + AC_MSG_ERROR([Need at least pcre version 6.7]) ;; esac AC_MSG_NOTICE([Using external PCRE library from $PCRE_CONFIG]) APR_ADDTO(PCRE_INCLUDES, [`$PCRE_CONFIG --cflags`]) - APR_ADDTO(PCRE_LIBS, [`$PCRE_CONFIG --libs`]) + APR_ADDTO(PCRE_LIBS, [`$PCRE_CONFIG --libs8 2>/dev/null || $PCRE_CONFIG --libs`]) APR_ADDTO(HTTPD_LIBS, [\$(PCRE_LIBS)]) else - AC_MSG_ERROR([pcre-config for libpcre not found. PCRE is required and available from http://pcre.org/]) + AC_MSG_ERROR([pcre(2)-config for libpcre not found. PCRE is required and available from http://pcre.org/]) fi APACHE_SUBST(PCRE_LIBS) @@ -272,6 +280,20 @@ APR_ADDTO(INCLUDES, $APU_INCLUDES) dnl Add in path to PCRE includes APR_ADDTO(INCLUDES, $PCRE_INCLUDES) +save_CPPFLAGS="$CPPFLAGS" +CPPFLAGS="$CPPFLAGS $PCRE_INCLUDES" +AC_EGREP_CPP(yes, +[ +#include +#ifdef PCRE_DUPNAMES +yes +#endif +],pcre_have_dupnames=yes,pcre_have_dupnames=no) +if test "$pcre_have_dupnames" != "yes"; then + AC_MSG_ERROR([pcre version does not support PCRE_DUPNAMES]) +fi +CPPFLAGS="$save_CPPFLAGS" + AC_MSG_NOTICE([]) AC_MSG_NOTICE([Applying OS-specific hints for httpd...]) AC_MSG_NOTICE([]) @@ -341,7 +363,7 @@ case $host in dnl solaris 8 and above don't have a thundering herd dnl not sure about rev's before this one. case `uname -r` in - 5.[567]*) + 5.[[567]]*) ;; * ) APR_SETVAR(SINGLE_LISTEN_UNSERIALIZED_ACCEPT, [1]) @@ -514,18 +536,7 @@ if test "$ac_cv_struct_tm_gmtoff" = "yes"; then AC_DEFINE(HAVE_GMTOFF, 1, [Define if struct tm has a tm_gmtoff field]) fi -dnl Check for systemd support for listen.c's socket activation. -case $host in -*-linux-*) - AC_CHECK_LIB(systemd-daemon, sd_notify, SYSTEMD_LIBS="-lsystemd-daemon") - AC_CHECK_HEADERS(systemd/sd-daemon.h) - if test "${ac_cv_header_systemd_sd_daemon_h}" = "no" || test -z "${SYSTEMD_LIBS}"; then - AC_MSG_WARN([Your system does not support systemd.]) - else - APR_ADDTO(HTTPD_LIBS, [$SYSTEMD_LIBS]) - AC_DEFINE(HAVE_SYSTEMD, 1, [Define if systemd is supported]) - fi -esac +APACHE_CHECK_SYSTEMD dnl ## Set up any appropriate OS-specific environment variables for apachectl @@ -619,11 +630,12 @@ AC_ARG_ENABLE(maintainer-mode,APACHE_HELP_STRING(--enable-maintainer-mode,Turn o APR_ADDTO(CPPFLAGS, -DAP_DEBUG) if test "$GCC" = "yes"; then APR_ADDTO(CFLAGS,[-Wall -Wmissing-prototypes -Wstrict-prototypes -Wmissing-declarations -Wpointer-arith]) + APACHE_ADD_GCC_CFLAG([-std=c89]) + APACHE_ADD_GCC_CFLAG([-Werror]) APACHE_ADD_GCC_CFLAG([-Wdeclaration-after-statement]) - APACHE_ADD_GCC_CFLAG([-Werror=declaration-after-statement]) APACHE_ADD_GCC_CFLAG([-Wformat]) APACHE_ADD_GCC_CFLAG([-Wformat-security]) - APACHE_ADD_GCC_CFLAG([-Werror=format-security]) + APACHE_ADD_GCC_CFLAG([-Wunused]) elif test "$AIX_XLC" = "yes"; then APR_ADDTO(CFLAGS,-qfullpath -qinitauto=FE -qcheck=all -qinfo=pro) fi @@ -844,7 +856,7 @@ AC_ARG_ENABLE(v4-mapped,APACHE_HELP_STRING(--enable-v4-mapped,Allow IPv6 sockets ], [ case $host in - *freebsd[1234].*) + *freebsd[[1234]].*) v4mapped=yes ;; *freebsd*|*netbsd*|*openbsd*) @@ -874,6 +886,21 @@ AC_ARG_ENABLE(bsd-makefiles,APACHE_HELP_STRING(--enable-bsd-makefiles,use BSD Ma FORCE_BSD_MAKEFILE="auto" ]) +AC_ARG_WITH([test-suite], + APACHE_HELP_STRING([--with-test-suite=PATH], [enable in-tree 'make check' with the given Apache::Test suite location]), + [ + if test "x$withval" = "xyes"; then + AC_MSG_ERROR([option --with-test-suite requires a directory]); + else + test -f "$withval/Makefile.PL" || AC_MSG_ERROR([--with-test-suite directory $withval does not contain the expected Makefile.PL]) + TEST_SUITE_LOCATION="$withval" + fi + ], + [ TEST_SUITE_LOCATION="no" ] +) + +APACHE_SUBST(TEST_SUITE_LOCATION) + APACHE_FAST_OUTPUT(Makefile modules/Makefile srclib/Makefile) APACHE_FAST_OUTPUT(os/Makefile server/Makefile) APACHE_FAST_OUTPUT(support/Makefile) @@ -887,6 +914,13 @@ AC_MSG_NOTICE([]) AC_MSG_NOTICE([Restore user-defined environment settings...]) AC_MSG_NOTICE([]) +APACHE_CONF_SEL_CC=${CC} +APACHE_CONF_SEL_CFLAGS=${CFLAGS} +APACHE_CONF_SEL_LDFLAGS=${LDFLAGS} +APACHE_CONF_SEL_LIBS=${LIBS} +APACHE_CONF_SEL_CPPFLAGS=${CPPFLAGS} +APACHE_CONF_SEL_CPP=${CPP} + APR_RESTORE_THE_ENVIRONMENT(CPPFLAGS, EXTRA_) APR_RESTORE_THE_ENVIRONMENT(CFLAGS, EXTRA_) APR_RESTORE_THE_ENVIRONMENT(CXXFLAGS, EXTRA_) @@ -935,6 +969,8 @@ else # Check whether they've installed GNU make if make --version > /dev/null 2>&1; then BSD_MAKEFILE=no + elif gmake --version > /dev/null 2>&1; then + BSD_MAKEFILE=no else BSD_MAKEFILE=yes fi @@ -962,6 +998,18 @@ AC_SUBST(ap_make_delimiter) dnl Ensure that docs/conf is created. test -d docs/conf||$mkdir_p docs/conf -AC_OUTPUT($APACHE_OUTPUT_FILES docs/conf/httpd.conf docs/conf/extra/httpd-autoindex.conf docs/conf/extra/httpd-dav.conf docs/conf/extra/httpd-default.conf docs/conf/extra/httpd-info.conf docs/conf/extra/httpd-languages.conf docs/conf/extra/httpd-manual.conf docs/conf/extra/httpd-mpm.conf docs/conf/extra/httpd-multilang-errordoc.conf docs/conf/extra/httpd-policy.conf docs/conf/extra/httpd-ssl.conf docs/conf/extra/httpd-userdir.conf docs/conf/extra/httpd-vhosts.conf docs/conf/extra/proxy-html.conf include/ap_config_layout.h support/apxs support/apachectl support/dbmmanage support/envvars-std support/log_server_status support/logresolve.pl support/phf_abuse_log.cgi support/split-logfile build/rules.mk build/pkg/pkginfo build/config_vars.sh,[true],[ - APACHE_GEN_MAKEFILES +AC_CONFIG_FILES(docs/conf/httpd.conf docs/conf/extra/httpd-autoindex.conf docs/conf/extra/httpd-dav.conf docs/conf/extra/httpd-default.conf docs/conf/extra/httpd-info.conf docs/conf/extra/httpd-languages.conf docs/conf/extra/httpd-manual.conf docs/conf/extra/httpd-mpm.conf docs/conf/extra/httpd-multilang-errordoc.conf docs/conf/extra/httpd-policy.conf docs/conf/extra/httpd-ssl.conf docs/conf/extra/httpd-userdir.conf docs/conf/extra/httpd-vhosts.conf docs/conf/extra/proxy-html.conf include/ap_config_layout.h support/apxs support/apachectl support/dbmmanage support/envvars-std support/log_server_status support/logresolve.pl support/phf_abuse_log.cgi support/split-logfile build/rules.mk build/pkg/pkginfo build/config_vars.sh) +AC_CONFIG_COMMANDS([default], [true], [APACHE_GEN_MAKEFILES]) +AC_OUTPUT + +AC_MSG_NOTICE([summary of build options: + + Server Version: ${HTTPD_VERSION} + Install prefix: ${prefix} + C compiler: ${APACHE_CONF_SEL_CC} + CFLAGS: ${APACHE_CONF_SEL_CFLAGS} + LDFLAGS: ${APACHE_CONF_SEL_LDFLAGS} + LIBS: ${APACHE_CONF_SEL_LIBS} + CPPFLAGS: ${APACHE_CONF_SEL_CPPFLAGS} + C preprocessor: ${APACHE_CONF_SEL_CPP} ])