diff --git a/config.mk b/config.mk
index 73b5195cb639370fc32884d76d89ba4ea3e9679e..c4ad223bfacb41c777f306a8520ab825fb145385 100644
--- 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