[U-Boot] [PATCH] config.mk: avoid -traditional-cpp on OS X 10.5

Andreas Bießmann andreas.devel at googlemail.com
Wed Aug 4 19:50:21 CEST 2010


Dear Mike Frysinger,

i have tested your patch on my old mini running 10.5.8 and it works. 

Am 04.08.2010 um 01:17 schrieb Mike Frysinger:

> Simply trying to include a basic header file like stdlib.h on OS X 10.5
> and then building with -traditional-cpp fails with lots of errors like:
> In file included from /usr/include/stdlib.h:63,
>                from test.c:3:
> /usr/include/available.h:85: error: stray '#' in program
> /usr/include/available.h:85: error: syntax error before numeric constant
> /usr/include/available.h:86: error: stray '#' in program
> 
> In the past, I hadn't noticed because the old logic for these flags were
> restricted to Darwin running on PowerPC systems while I'm running on an
> Intel system.  But after some recent clean ups and changes, the flag was
> being applied to all Darwin systems and my host tools broke.
> 
> Signed-off-by: Mike Frysinger <vapier at gentoo.org>
> ---
> Note: i've only tested Darwin/x86 as my Darwin/ppc is having hardware
>     trouble atm ... not sure when/if i'll get it fixed
> 
> config.mk |   10 +++++-----
> 1 files changed, 5 insertions(+), 5 deletions(-)
> 
> diff --git a/config.mk b/config.mk
> index bcda776..eb95093 100644
> --- a/config.mk
> +++ b/config.mk
> @@ -68,13 +68,13 @@ ifeq ($(HOSTOS),darwin)
> 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 ;)
> +os_x_before	= $(shell if [ $(DARWIN_MAJOR_VERSION) -le $(1) -a \
> +	$(DARWIN_MINOR_VERSION) -le $(2) ] ; then echo "$(3)"; else echo "$(4)"; 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")
> +HOSTCC		 = $(call os_x_before, 10, 5, "cc", "gcc")
> +HOSTCFLAGS	+= $(call os_x_before, 10, 4, "-traditional-cpp")
> +HOSTLDFLAGS	+= $(call os_x_before, 10, 5, "-multiply_defined suppress")

I figured out that I can even switch to gcc on that box:

---8<---
$ gcc --version
powerpc-apple-darwin9-gcc-4.0.1 (GCC) 4.0.1 (Apple Inc. build 5490)
Copyright (C) 2005 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
--->8---

Therefore your patch could be simplified by switching from 'before-snow-leopard' to 'before-leopard' logic. Nevertheless i like the os_x_before macro more than the first solution.

regards

Andreas Bießmann


More information about the U-Boot mailing list