OSDN Git Service

buildsys: check_gcc warning flags
authorBernhard Reutner-Fischer <rep.dot.nop@gmail.com>
Thu, 5 Aug 2010 13:50:23 +0000 (15:50 +0200)
committerBernhard Reutner-Fischer <rep.dot.nop@gmail.com>
Thu, 5 Aug 2010 13:50:23 +0000 (15:50 +0200)
Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
Rules.mak

index 03eea2c..1f05a8a 100644 (file)
--- a/Rules.mak
+++ b/Rules.mak
@@ -531,12 +531,25 @@ export ASNEEDED:=$(shell $(LD) --help 2>/dev/null | grep -q -- --as-needed && ec
 endif
 
 # Add a bunch of extra pedantic annoyingly strict checks
-XWARNINGS=$(call qstrip,$(WARNINGS)) -Wstrict-prototypes -fno-strict-aliasing
+XWARNINGS=$(call qstrip,$(WARNINGS)) 
+XWARNINGS+=$(foreach w,\
+       -Wstrict-prototypes \
+       -fno-strict-aliasing \
+       , $(call check_gcc,$(w),))
 ifeq ($(EXTRA_WARNINGS),y)
-XWARNINGS+=-Wnested-externs -Wshadow -Wmissing-noreturn -Wmissing-format-attribute -Wformat=2
-XWARNINGS+=-Wmissing-prototypes -Wmissing-declarations
-XWARNINGS+=-Wold-style-declaration -Wold-style-definition
-XWARNINGS+=-Wnonnull -Wundef
+XWARNINGS+=$(foreach w,\
+       -Wformat=2 \
+       -Wmissing-noreturn \
+       -Wmissing-format-attribute \
+       -Wmissing-prototypes \
+       -Wmissing-declarations \
+       -Wnested-externs \
+       -Wnonnull \
+       -Wold-style-declaration \
+       -Wold-style-definition \
+       -Wshadow \
+       -Wundef \
+       , $(call check_gcc,$(w),))
 # Works only w/ gcc-3.4 and up, can't be checked for gcc-3.x w/ check_gcc()
 #XWARNINGS+=-Wdeclaration-after-statement
 endif