2014-12-10 Joseph Myers <joseph@codesourcery.com>
+ * configure.ac (--disable-werror): New configure option.
+ (enable_werror): New AC_SUBST.
+ * configure: Regenerated.
+ * config.make.in (enable-werror): New variable.
+ * Makeconfig [$(enable-werror) = yes] (+gccwarn): Add -Werror
+ -Wno-error=undef.
+ (+gccwarn-c): Do not use -Werror=implicit-function-declaration.
+ * manual/install.texi (Configuring and compiling): Document
+ --disable-werror.
+ * INSTALL: Regenerated.
+ * debug/Makefile (CFLAGS-tst-chk1.c): Add -Wno-error.
+ (CFLAGS-tst-chk2.c): Likewise.
+ (CFLAGS-tst-chk3.c): Likewise.
+ (CFLAGS-tst-chk4.cc): Likewise.
+ (CFLAGS-tst-chk5.cc): Likewise.
+ (CFLAGS-tst-chk6.cc): Likewise.
+ (CFLAGS-tst-lfschk1.c): Likewise.
+ (CFLAGS-tst-lfschk2.c): Likewise.
+ (CFLAGS-tst-lfschk3.c): Likewise.
+ (CFLAGS-tst-lfschk4.cc): Likewise.
+ (CFLAGS-tst-lfschk5.cc): Likewise.
+ (CFLAGS-tst-lfschk6.cc): Likewise.
+
* stdio-common/tst-printfsz.c: Include <libc-internal.h>.
(main): Disable -Wdeprecated-declarations around calls to
register_printf_function.
additional security risks to the system and you should enable it
only if you understand and accept those risks.
+`--disable-werror'
+ By default, the GNU C Library is built with `-Werror'. If you wish
+ to build without this option (for example, if building with a newer
+ version of GCC than this version of the GNU C Library was tested
+ with, so new warnings cause the build with `-Werror' to fail), you
+ can configure with `--disable-werror'.
+
`--build=BUILD-SYSTEM'
`--host=HOST-SYSTEM'
These options are for cross-compiling. If you specify both
+gccwarn := -Wall -Wwrite-strings -Winline
endif
+gccwarn += -Wundef
-+gccwarn-c = -Wstrict-prototypes -Werror=implicit-function-declaration
+ifeq ($(enable-werror),yes)
++gccwarn += -Werror -Wno-error=undef
+endif
++gccwarn-c = -Wstrict-prototypes
# We do not depend on the address of constants in different files to be
# actually different, so allow the compiler to merge them all.
C Library is GCC 4.6. Older GCC versions, and non-GNU compilers, can
still be used to compile programs using the GNU C Library.
+* The GNU C Library is now built with -Werror by default. This can be
+ disabled by configuring with --disable-werror.
+
* New locales: tu_IN, bh_IN, raj_IN, ce_RU.
* The obsolete sigvec function has been removed. This was the original
sysincludes = @SYSINCLUDES@
c++-sysincludes = @CXX_SYSINCLUDES@
all-warnings = @all_warnings@
+enable-werror = @enable_werror@
have-z-combreloc = @libc_cv_z_combreloc@
have-z-execstack = @libc_cv_z_execstack@
build_nscd
link_obsolete_rpc
libc_cv_nss_crypt
+enable_werror
all_warnings
force_install
bindnow
enable_maintainer_mode
enable_kernel
enable_all_warnings
+enable_werror
enable_multi_arch
enable_nss_crypt
enable_obsolete_rpc
--enable-kernel=VERSION compile for compatibility with kernel not older than
VERSION
--enable-all-warnings enable all useful warnings gcc can issue
+ --disable-werror do not build with -Werror
--enable-multi-arch enable single DSO with optimizations for multiple
architectures
--enable-nss-crypt enable libcrypt to use nss
+# Check whether --enable-werror was given.
+if test "${enable_werror+set}" = set; then :
+ enableval=$enable_werror; enable_werror=$enableval
+else
+ enable_werror=yes
+fi
+
+
+
# Check whether --enable-multi-arch was given.
if test "${enable_multi_arch+set}" = set; then :
enableval=$enable_multi_arch; multi_arch=$enableval
[])
AC_SUBST(all_warnings)
+AC_ARG_ENABLE([werror],
+ AC_HELP_STRING([--disable-werror],
+ [do not build with -Werror]),
+ [enable_werror=$enableval],
+ [enable_werror=yes])
+AC_SUBST(enable_werror)
+
AC_ARG_ENABLE([multi-arch],
AC_HELP_STRING([--enable-multi-arch],
[enable single DSO with optimizations for multiple architectures]),
CPPFLAGS-tst-longjmp_chk3.c = -D_FORTIFY_SOURCE=1
# We know these tests have problems with format strings, this is what
-# we are testing. Disable that warning.
-CFLAGS-tst-chk1.c = -Wno-format
-CFLAGS-tst-chk2.c = -Wno-format
-CFLAGS-tst-chk3.c = -Wno-format
-CFLAGS-tst-chk4.cc = -Wno-format
-CFLAGS-tst-chk5.cc = -Wno-format
-CFLAGS-tst-chk6.cc = -Wno-format
-CFLAGS-tst-lfschk1.c = -Wno-format
-CFLAGS-tst-lfschk2.c = -Wno-format
-CFLAGS-tst-lfschk3.c = -Wno-format
-CFLAGS-tst-lfschk4.cc = -Wno-format
-CFLAGS-tst-lfschk5.cc = -Wno-format
-CFLAGS-tst-lfschk6.cc = -Wno-format
+# we are testing. Disable that warning. They also generate warnings
+# from warning attributes, which cannot be disabled via pragmas, so
+# require -Wno-error to be used.
+CFLAGS-tst-chk1.c = -Wno-format -Wno-error
+CFLAGS-tst-chk2.c = -Wno-format -Wno-error
+CFLAGS-tst-chk3.c = -Wno-format -Wno-error
+CFLAGS-tst-chk4.cc = -Wno-format -Wno-error
+CFLAGS-tst-chk5.cc = -Wno-format -Wno-error
+CFLAGS-tst-chk6.cc = -Wno-format -Wno-error
+CFLAGS-tst-lfschk1.c = -Wno-format -Wno-error
+CFLAGS-tst-lfschk2.c = -Wno-format -Wno-error
+CFLAGS-tst-lfschk3.c = -Wno-format -Wno-error
+CFLAGS-tst-lfschk4.cc = -Wno-format -Wno-error
+CFLAGS-tst-lfschk5.cc = -Wno-format -Wno-error
+CFLAGS-tst-lfschk6.cc = -Wno-format -Wno-error
LDLIBS-tst-chk4 = -lstdc++
LDLIBS-tst-chk5 = -lstdc++
LDLIBS-tst-chk6 = -lstdc++
additional security risks to the system and you should enable it only if
you understand and accept those risks.
+@item --disable-werror
+By default, @theglibc{} is built with @option{-Werror}. If you wish
+to build without this option (for example, if building with a newer
+version of GCC than this version of @theglibc{} was tested with, so
+new warnings cause the build with @option{-Werror} to fail), you can
+configure with @option{--disable-werror}.
+
@item --build=@var{build-system}
@itemx --host=@var{host-system}
These options are for cross-compiling. If you specify both options and