diff options
author | Joseph Myers <joseph@codesourcery.com> | 2014-12-10 01:14:48 +0000 |
---|---|---|
committer | Joseph Myers <joseph@codesourcery.com> | 2014-12-10 01:14:48 +0000 |
commit | a4ecc9eb9b15bc51a1dc4726c06d35eaea74e162 (patch) | |
tree | 82641c7fc5034317ba20ca9a5a1063099de27766 /configure | |
parent | 0f88636c09686b1f8e876bfa88b40bacbcae8c11 (diff) | |
download | glibc-a4ecc9eb9b15bc51a1dc4726c06d35eaea74e162.tar.gz glibc-a4ecc9eb9b15bc51a1dc4726c06d35eaea74e162.tar.xz glibc-a4ecc9eb9b15bc51a1dc4726c06d35eaea74e162.zip |
Use -Werror by default, add --disable-werror.
As discussed starting at <https://sourceware.org/ml/libc-alpha/2014-11/msg00323.html>, this patch makes the glibc build use -Werror by default to avoid accidentally adding new warnings to the build. The configure option --disable-werror can be used to disable this. -Wno-error=undef is temporarily used because the build isn't clean regarding -Wundef warnings. The idea is that once the remaining -Wundef warnings have been cleaned up (in at least one configuration), -Wno-error=undef will be removed. I get a clean build and test on x86_64 (GCC 4.9 branch) with this patch. The expectation is that this may well break the build for some other configurations, and people seeing such breakage should make appropriate fixes to fix or suppress the warnings for their configurations. In some cases that may involve using pragmas as the right fix (I think that will be right for the -Wno-inline issue for MIPS I referred to in <https://sourceware.org/ml/libc-alpha/2012-11/msg00798.html>, for example), in some cases -Wno-error in sysdeps makefiles (__restore_rt in MIPS sigaction, for example), in some cases substantive fixes for the warnings. Note that if, with a view to listing all the warnings then fixing them all, you just look for "warning:" in output from building and testing with --disable-werror, you'll see lots of warnings from the linker about functions such as tmpnam. Those warnings can be ignored - only compiler warnings are relevant to -Werror, not linker warnings. * 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.
Diffstat (limited to 'configure')
-rwxr-xr-x | configure | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/configure b/configure index 0cb54ec363..b1fda3867a 100755 --- a/configure +++ b/configure @@ -668,6 +668,7 @@ build_pt_chown build_nscd link_obsolete_rpc libc_cv_nss_crypt +enable_werror all_warnings force_install bindnow @@ -767,6 +768,7 @@ enable_force_install enable_maintainer_mode enable_kernel enable_all_warnings +enable_werror enable_multi_arch enable_nss_crypt enable_obsolete_rpc @@ -1428,6 +1430,7 @@ Optional Features: --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 @@ -3565,6 +3568,15 @@ fi +# 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 |