sandbox: fix compiling of cpu/os.c
authorAndreas Bießmann <biessmann@corscience.de>
Fri, 2 Dec 2011 10:53:13 +0000 (11:53 +0100)
committerMike Frysinger <vapier@gentoo.org>
Sat, 10 Dec 2011 22:56:37 +0000 (17:56 -0500)
U-boot itself generally builds with -nostdinc.  This is because the
bootloader needs to be completely standalone.  In the sandbox arch
though, we need a little bit of code to glue the u-boot world to the
host operating system, and we need to be able to access the host
libc's headers in order to do so.

Currently, we're using -I/usr/include to workaround the global
-nostdinc, but that doesn't work for everyone and for all headers.
Instead, let's filter out -nostdinc when building the os.c code.

Without this patch, some distros hit errors such as:
---8<---
In file included from /usr/include/fcntl.h:27:0,
                 from os.c:22:
/usr/include/features.h:323:26: fatal error:
     bits/predefs.h: No such file or directory
--->8---

Signed-off-by: Andreas Bießmann <biessmann@corscience.de>
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
arch/sandbox/cpu/Makefile

index e5e860b71565197641407a362591c68712e71c44..2ae0f7155c022967b7950c915eb128d7da660317 100644 (file)
@@ -23,9 +23,6 @@
 # MA 02111-1307 USA
 #
 
-# os.c is build in the system environment, so needs standard includes
-CPPFLAGS_arch/sandbox/cpu/os.o += -I/usr/include
-
 include $(TOPDIR)/config.mk
 
 LIB    = $(obj)lib$(CPU).o
@@ -40,6 +37,10 @@ all: $(obj).depend $(LIB)
 $(LIB):        $(OBJS)
        $(call cmd_link_o_target, $(OBJS))
 
+# os.c is build in the system environment, so needs standard includes
+$(obj)os.o: ALL_CFLAGS := $(filter-out -nostdinc,$(ALL_CFLAGS))
+$(obj).depend.os: CPPFLAGS := $(filter-out -nostdinc,$(CPPFLAGS))
+
 #########################################################################
 
 # defines $(obj).depend target