PATCHES ACCEPTED TO BACKPORT FROM TRUNK:
[ start all new proposals below, under PATCHES PROPOSED. ]
- *) configure.in: Fix maintainer mode with GCC/Clang.
- Setting -Wstrict-prototypes in combination with -Werror leads to compiler
- errors during configure checks (autoconf generates incomplete prototypes).
- As suggested by Joe, add --maintainer/debugger-mode's CFLAGS in
- NOTEST_CFLAGS to avoid interractions with autoconf's AC_LANG_PROGRAM.
- APACHE_ADD_GCC_CFLAG now also forces -Wno-strict-prototypes for -Werror
- to work despite AC_LANG_PROGRAM generating this warning by itself.
- trunk patch: http://svn.apache.org/r1812263
- http://svn.apache.org/r1812301
- 2.4.x patch: svn merge -c 1812263,1812301 ^/httpd/httpd/trunk .
- +1: ylavic, rjung, jim
- ylavic: if the below mod_journald proposal gets accepted, it will
- also need a backport of r1812339, otherwise maintainer
- mode builds will fail due to -Werror.
-
PATCHES PROPOSED TO BACKPORT FROM TRUNK:
])
dnl
-dnl APACHE_ADD_GCC_CFLAGS
+dnl APACHE_ADD_GCC_CFLAG
dnl
-dnl Check if compiler is gcc and supports flag. If yes, add to CFLAGS.
+dnl Check if compiler is gcc and supports flag. If yes, add to NOTEST_CFLAGS.
+dnl NOTEST_CFLAGS is merged lately, thus it won't accumulate in CFLAGS here.
+dnl Also, AC_LANG_PROGRAM() itself is known to trigger [-Wstrict-prototypes]
+dnl with some autoconf versions, so we force -Wno-strict-prototypes for the
+dnl check to avoid spurious failures when adding flags like -Werror.
dnl
AC_DEFUN([APACHE_ADD_GCC_CFLAG], [
define([ap_gcc_ckvar], [ac_cv_gcc_]translit($1, [-:.=], [____]))
if test "$GCC" = "yes"; then
AC_CACHE_CHECK([whether gcc accepts $1], ap_gcc_ckvar, [
save_CFLAGS="$CFLAGS"
- CFLAGS="$CFLAGS $1"
+ CFLAGS="$CFLAGS $1 -Wno-strict-prototypes"
AC_COMPILE_IFELSE([AC_LANG_PROGRAM()],
[ap_gcc_ckvar=yes], [ap_gcc_ckvar=no])
CFLAGS="$save_CFLAGS"
])
if test "$]ap_gcc_ckvar[" = "yes" ; then
- APR_ADDTO(CFLAGS,[$1])
+ APR_ADDTO(NOTEST_CFLAGS,[$1])
fi
fi
undefine([ap_gcc_ckvar])
AC_ARG_ENABLE(maintainer-mode,APACHE_HELP_STRING(--enable-maintainer-mode,Turn on debugging and compile time warnings and load all compiled modules),
[
if test "$enableval" = "yes"; then
- APR_ADDTO(CPPFLAGS, -DAP_DEBUG)
+ APR_ADDTO(NOTEST_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([-Wall])
+ APACHE_ADD_GCC_CFLAG([-Wstrict-prototypes])
+ APACHE_ADD_GCC_CFLAG([-Wmissing-prototypes])
+ APACHE_ADD_GCC_CFLAG([-Wmissing-declarations])
APACHE_ADD_GCC_CFLAG([-Wdeclaration-after-statement])
+ APACHE_ADD_GCC_CFLAG([-Wpointer-arith])
APACHE_ADD_GCC_CFLAG([-Wformat])
APACHE_ADD_GCC_CFLAG([-Wformat-security])
APACHE_ADD_GCC_CFLAG([-Wunused])
elif test "$AIX_XLC" = "yes"; then
- APR_ADDTO(CFLAGS,-qfullpath -qinitauto=FE -qcheck=all -qinfo=pro)
+ APR_ADDTO(NOTEST_CFLAGS,-qfullpath -qinitauto=FE -qcheck=all -qinfo=pro)
fi
if test "x$enable_load_all_modules" = "x"; then
LOAD_ALL_MODULES=yes
AC_ARG_ENABLE(debugger-mode,APACHE_HELP_STRING(--enable-debugger-mode,Turn on debugging and compile time warnings and turn off optimization),
[
if test "$enableval" = "yes"; then
- APR_ADDTO(CPPFLAGS, -DAP_DEBUG)
+ APR_ADDTO(NOTEST_CPPFLAGS, -DAP_DEBUG)
if test "$GCC" = "yes"; then
- APR_ADDTO(CFLAGS,[-Wall -Wmissing-prototypes -Wstrict-prototypes -Wmissing-declarations -Wpointer-arith -O0])
+ APACHE_ADD_GCC_CFLAG([-O0])
+ APACHE_ADD_GCC_CFLAG([-Wall])
+ APACHE_ADD_GCC_CFLAG([-Wstrict-prototypes])
+ APACHE_ADD_GCC_CFLAG([-Wmissing-prototypes])
+ APACHE_ADD_GCC_CFLAG([-Wmissing-declarations])
APACHE_ADD_GCC_CFLAG([-Wdeclaration-after-statement])
APACHE_ADD_GCC_CFLAG([-Werror=declaration-after-statement])
+ APACHE_ADD_GCC_CFLAG([-Wpointer-arith])
APACHE_ADD_GCC_CFLAG([-Wformat])
APACHE_ADD_GCC_CFLAG([-Wformat-security])
APACHE_ADD_GCC_CFLAG([-Werror=format-security])
elif test "$AIX_XLC" = "yes"; then
- APR_ADDTO(CFLAGS,-qfullpath -qinitauto=FE -qcheck=all -qinfo=pro)
+ APR_ADDTO(NOTEST_CFLAGS,-qfullpath -qinitauto=FE -qcheck=all -qinfo=pro)
fi
fi
])dnl
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_CFLAGS="${CFLAGS} ${EXTRA_CFLAGS} ${NOTEST_CFLAGS}"
+APACHE_CONF_SEL_CPPFLAGS="${CPPFLAGS} ${EXTRA_CPPFLAGS} ${NOTEST_CPPFLAGS}"
+APACHE_CONF_SEL_LDFLAGS="${LDFLAGS} ${EXTRA_LDFLAGS} ${NOTEST_LDFLAGS}"
+APACHE_CONF_SEL_LIBS="${LIBS} ${EXTRA_LIBS} ${NOTEST_LIBS}"
APACHE_CONF_SEL_CPP=${CPP}
APR_RESTORE_THE_ENVIRONMENT(CPPFLAGS, EXTRA_)
Install prefix: ${prefix}
C compiler: ${APACHE_CONF_SEL_CC}
CFLAGS: ${APACHE_CONF_SEL_CFLAGS}
+ CPPFLAGS: ${APACHE_CONF_SEL_CPPFLAGS}
LDFLAGS: ${APACHE_CONF_SEL_LDFLAGS}
LIBS: ${APACHE_CONF_SEL_LIBS}
- CPPFLAGS: ${APACHE_CONF_SEL_CPPFLAGS}
C preprocessor: ${APACHE_CONF_SEL_CPP}
])