From 533320c65944cdc9d3857312795b816282c48ba7 Mon Sep 17 00:00:00 2001 From: Rob Landley Date: Mon, 31 Jul 2006 22:56:17 +0000 Subject: [PATCH] 1) ifeq is make syntax, #ifeq is a make comment. 2) The check_cc macros should probably all have the same number of arguments. 3) Move the -Werror into the gcc 4.0 on i386 test, because gcc 4.1 is broken and produces warnings for things that provably aren't incorrect. In other news it would be nice if our check_ld macro actually did something, and why does or makefile do all the check_cc calls, then call itself as if it's building out of tree, then do all the check_cc calls again? --- Rules.mak | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/Rules.mak b/Rules.mak index b7a91b63b..866e555eb 100644 --- a/Rules.mak +++ b/Rules.mak @@ -166,16 +166,17 @@ LD_END_GROUP:= -Wl,--end-group endif CHECKED_LDFLAGS := $(call check_ld,$(LD),--warn-common,) +#CHECKED_LDFLAGS := $(call check_ld,$(LD),-static-libgcc,) # Pin CHECKED_CFLAGS with := so it's only evaluated once. CHECKED_CFLAGS:=$(call check_cc,$(CC),-Wall,) -CHECKED_CFLAGS+=$(call check_cc,$(HOSTCC),-Werror,) CHECKED_CFLAGS+=$(call check_cc,$(CC),-Wstrict-prototypes,) CHECKED_CFLAGS+=$(call check_cc,$(CC),-Wshadow,) CHECKED_CFLAGS+=$(call check_cc,$(CC),-funsigned-char,) CHECKED_CFLAGS+=$(call check_cc,$(CC),-mmax-stack-frame=256,) -CHECKED_CFLAGS+=$(call check_cc,$(CC),-fno-builtin-strlen) -CHECKED_CFLAGS+=$(call check_cc,$(CC),-finline-limit=0) +CHECKED_CFLAGS+=$(call check_cc,$(CC),-fno-builtin-strlen,) +CHECKED_CFLAGS+=$(call check_cc,$(CC),-finline-limit=0,) +CHECKED_CFLAGS+=$(call check_cc,$(CC),-static-libgcc,) # Preemptively pin this too. PROG_CFLAGS:= @@ -216,11 +217,13 @@ endif ifeq ($(strip $(TARGET_ARCH)),i386) OPTIMIZATION+=$(call check_cc,$(CC),-march=i386,) # gcc-4.0 and older seem to benefit from these -#ifneq ($(strip $(shell [ $(CC_MAJOR) -ge 4 -a $(CC_MINOR) -ge 1 ] ; echo $$?)),0) +ifneq ($(strip $(shell [ $(CC_MAJOR) -ge 4 -a $(CC_MINOR) -ge 1 ] ; echo $$?)),0) OPTIMIZATION+=$(call check_cc,$(CC),-mpreferred-stack-boundary=2,) - OPTIMIZATION+=$(call check_cc,$(CC),-falign-functions=1 -falign-jumps=1 -falign-loops=1,\ - -malign-functions=0 -malign-jumps=0 -malign-loops=0) -#endif # gcc-4.0 and older + OPTIMIZATION+=$(call check_cc,$(CC),-falign-functions=1 -falign-jumps=1 -falign-loops=1, -malign-functions=0 -malign-jumps=0 -malign-loops=0,) + + # gcc 4.1 produces many broken, totally invalid warnings + CHECKED_CFLAGS+=$(call check_cc,$(CC),-Werror,) +endif # gcc-4.0 and older # gcc-4.1 and beyond seem to benefit from these ifeq ($(strip $(shell [ $(CC_MAJOR) -ge 4 -a $(CC_MINOR) -ge 1 ] ; echo $$?)),0)