Make -Werror configurable
authorDenis Vlasenko <vda.linux@googlemail.com>
Sat, 27 Jan 2007 13:44:53 +0000 (13:44 -0000)
committerDenis Vlasenko <vda.linux@googlemail.com>
Sat, 27 Jan 2007 13:44:53 +0000 (13:44 -0000)
Config.in
Makefile.flags
scripts/defconfig

index 499233bc162157ad5d11b85a8da75b4feb3ef8a7..c5f8b3c0f7f1bda2cef14d9cc6b87a1402df834a 100644 (file)
--- a/Config.in
+++ b/Config.in
@@ -352,16 +352,25 @@ config DEBUG
 
          Most people should answer N.
 
-config DEBUG_PESSIMIZE
-       bool "Disable compiler optimizations."
+config WERROR
+       bool "Abort compilation on any warning"
        default n
-       depends on DEBUG
        help
-         The compiler's optimization of source code can eliminate and reorder
-         code, resulting in an executable that's hard to understand when
-         stepping through it with a debugger.  This switches it off, resulting
-         in a much bigger executable that more closely matches the source
-         code.
+         Selecting this will add -Werror to gcc command line.
+
+         Most people should answer N.
+
+# Seems to be unused
+#config DEBUG_PESSIMIZE
+#      bool "Disable compiler optimizations."
+#      default n
+#      depends on DEBUG
+#      help
+#        The compiler's optimization of source code can eliminate and reorder
+#        code, resulting in an executable that's hard to understand when
+#        stepping through it with a debugger.  This switches it off, resulting
+#        in a much bigger executable that more closely matches the source
+#        code.
 
 choice
        prompt "Additional debugging library"
index 8f6d0c9bda4c5fc466f7a986e78734e7f941c0c8..cec73df8ff2e5ad50dd915e784fd21576abbe62f 100644 (file)
@@ -17,10 +17,15 @@ CPPFLAGS += \
 
 # flag checks are grouped together to speed the checks up a bit..
 CFLAGS += $(call cc-option,-Wall -Wshadow,)
+ifeq ($(CONFIG_WERROR),y)
+CFLAGS += $(call cc-option,-Werror,)
+endif
 CFLAGS += $(call cc-option,-Wundef -Wold-style-definition -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations,)
 CFLAGS += $(call cc-option,-Os -fno-builtin-strlen -finline-limit=0 -fomit-frame-pointer -ffunction-sections -fdata-sections,)
-CFLAGS += $(call cc-option,-static-libgcc -funsigned-char,)
-CFLAGS += $(call cc-option,-falign-functions=1 -falign-jumps=1 -falign-loops=1,)
+# -fno-guess-branch-probability: prohibit pseudo-random guessing
+# of branch probabilities (hopefully makes bloatcheck more stable)
+CFLAGS += $(call cc-option,-funsigned-char -fno-guess-branch-probability -static-libgcc,)
+CFLAGS += $(call cc-option,-falign-functions=1 -falign-jumps=1 -falign-labels=1 -falign-loops=1,)
 
 # FIXME: These warnings are at least partially to be concerned about and should
 # be fixed..
index ed99599855999d464f6845765043de93fe53e547..a3e59c8aac57d5d1dbfe403b0375bb792fc923e4 100644 (file)
@@ -45,7 +45,7 @@ CONFIG_LFS=y
 # Debugging Options
 #
 # CONFIG_DEBUG is not set
-# CONFIG_DEBUG_PESSIMIZE is not set
+# CONFIG_WERROR is not set
 # CONFIG_NO_DEBUG_LIB is not set
 # CONFIG_DMALLOC is not set
 # CONFIG_EFENCE is not set