config.mk: use different host compiler for OS X 10.6

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>
diff --git a/config.mk b/config.mk
index 73b5195..c4ad223 100644
--- a/config.mk
+++ b/config.mk
@@ -64,9 +64,17 @@
 #
 
 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