config.mk: use different host compiler for OS X 10.6
authorAndreas Biessmann <andreas.devel@googlemail.com>
Sat, 22 May 2010 11:17:21 +0000 (13:17 +0200)
committerWolfgang Denk <wd@denx.de>
Wed, 26 May 2010 20:31:55 +0000 (22:31 +0200)
Compiling tools subdirectory on Mac OS X 10.6 (Snow Leopard) complains about
wrong syntax in system includes.

In file included from /usr/include/stdio.h:444,
                 from ../source/u-boot/include/compiler.h:26,
                 from ../source/u-boot/lib/crc32.c:15:
/usr/include/secure/_stdio.h:46: error: syntax error in macro parameter list

This can be fixed by reverting the workaround for prior OS X releases in
config.mk conditionally for OS X 10.6+.

Signed-off-by: Andreas Bießmann <andreas.devel@googlemail.com>
Acked-by: Mike Frysinger <vapier@gentoo.org>
config.mk

index 73b5195..c4ad223 100644 (file)
--- a/config.mk
+++ b/config.mk
@@ -64,9 +64,17 @@ HOSTSTRIP    = strip
 #
 
 ifeq ($(HOSTOS),darwin)
-HOSTCC         = cc
-HOSTCFLAGS     += -traditional-cpp
-HOSTLDFLAGS    += -multiply_defined suppress
+# get major and minor product version (e.g. '10' and '6' for Snow Leopard)
+DARWIN_MAJOR_VERSION   = $(shell sw_vers -productVersion | cut -f 1 -d '.')
+DARWIN_MINOR_VERSION   = $(shell sw_vers -productVersion | cut -f 2 -d '.')
+
+before-snow-leopard    = $(shell if [ $(DARWIN_MAJOR_VERSION) -le 10 -a \
+       $(DARWIN_MINOR_VERSION) -le 5 ] ; then echo "$(1)"; else echo "$(2)"; fi ;)
+
+# Snow Leopards build environment has no longer restrictions as described above
+HOSTCC          = $(call before-snow-leopard, "cc", "gcc")
+HOSTCFLAGS     += $(call before-snow-leopard, "-traditional-cpp")
+HOSTLDFLAGS    += $(call before-snow-leopard, "-multiply_defined suppress")
 else
 HOSTCC         = gcc
 endif