gcc-configure-common.inc: Muck with NATIVE_SYSTEM_HEADER_DIR
authorKhem Raj <raj.khem@gmail.com>
Fri, 11 Sep 2009 21:42:54 +0000 (14:42 -0700)
committerKhem Raj <raj.khem@gmail.com>
Fri, 11 Sep 2009 21:42:54 +0000 (14:42 -0700)
* GCC's notion of standard includes being in /usr/include is
  not valid for micro distro which uses flattened layout

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Henning Heinold <heinold@inf.fu-berlin.de>
recipes/gcc/gcc-configure-common.inc

index 7315a20..fb792a8 100644 (file)
@@ -80,7 +80,16 @@ do_configure () {
        sed -i 's/^LDFLAGS = $/LDFLAGS = @LDFLAGS@/' ${S}/Makefile.tpl
 
        (cd ${S} && gnu-configize) || die "failure running gnu-configize"
-
+       # splice our idea of where the headers live into gcc's world
+       echo "NATIVE_SYSTEM_HEADER_DIR = ${layout_includedir}" > ${T}/t-oe
+       sed 's%^tmake_file=.*$%& ${T}/t-oe%' < ${S}/gcc/Makefile.in >${S}/gcc/Makefile.in.new
+       mv ${S}/gcc/Makefile.in.new ${S}/gcc/Makefile.in
+       cat ${S}/gcc/defaults.h | grep -v "\#endif.*GCC_DEFAULTS_H" > ${S}/gcc/defaults.h.new
+       echo "#ifndef STANDARD_INCLUDE_DIR" >> ${S}/gcc/defaults.h.new
+       echo "#define STANDARD_INCLUDE_DIR \"${layout_includedir}\"" >> ${S}/gcc/defaults.h.new
+       echo "#endif" >> ${S}/gcc/defaults.h.new
+       echo "#endif /* ! GCC_DEFAULTS_H */" >> ${S}/gcc/defaults.h.new
+       mv ${S}/gcc/defaults.h.new ${S}/gcc/defaults.h
        oe_runconf
 
        # make sure that no @LDFLAG@ is left in the generated Makefile