From: Zack Weinberg Date: Thu, 26 Nov 2020 15:19:19 +0000 (-0500) Subject: Add more release notes about compatibility problems. X-Git-Tag: v2.69e~2 X-Git-Url: http://git.ipfire.org/gitweb/gitweb.cgi?a=commitdiff_plain;h=f44695c56b65e29829da43b594c31c59de5766a6;p=thirdparty%2Fautoconf.git Add more release notes about compatibility problems. See https://savannah.gnu.org/support/?110382 and https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97998 for background. --- diff --git a/NEWS b/NEWS index 16849cf7..93ac2838 100644 --- a/NEWS +++ b/NEWS @@ -81,6 +81,38 @@ GNU Autoconf NEWS - User visible changes. how to write configure scripts for C++ programs, and for programs with code in more than one language. +*** Running configure tests with warnings promoted to errors is not supported. + + For instance, setting ‘CC="gcc -Werror"’ on the configure command + line, or adding -Werror to CFLAGS early in the configure script when + the compiler recognizes this option, is very likely to cause + subsequent tests to fail. + + This has never been guaranteed to work; the code generated by + AC_CHECK_FUNC, for instance, is incorrect by a strict reading of the + original 1989 C standard, and has been ever since that macro was + introduced. Problems are more likely with newer, pickier compilers. + + To enable compiler warnings and/or warnings-as-errors mode for your + own code, we currently recommend a dedicated Makefile variable + (e.g. ‘WARN_CFLAGS’) that is set by AC_SUBST when appropriate. + The Gnulib ‘warnings’ and ‘manywarnings’ modules can help with this. + We plan to add core support for probing for useful sets of compiler + warnings in a future release. + +*** Including confdefs.h manually may cause test failures. + + This has never been necessary; confdefs.h is automatically included + at the beginning of all test programs (by AC_LANG_SOURCE). Because + of the way confdefs.h is generated and used, it is not practical to + give it a multiple inclusion guard. Therefore, if you include it + yourself, all of its definitions will be scanned twice. + + Historically this has not been a problem, because confdefs.h only + makes macro definitions, and the C standard allows redefinitions + of macros as long as they’re exactly the same, but newer, pickier + compilers may complain anyway (see for instance GCC bug 97998). + *** Older versions of automake and aclocal (< 1.8) are no longer supported. *** AC_CONFIG_SUBDIRS no longer directly supports Cygnus configure.