From 9300c4759938436bde9b722f46c12b12beebc20d Mon Sep 17 00:00:00 2001 From: Khem Raj Date: Sat, 5 Sep 2009 19:14:35 -0700 Subject: gcc-4.4.1: Fix canadian cross compilation. * Forward port cache amnesia patch * Forward port gcc-flags-for-build patch * do_configure needs to be overridden for 4.4.1 Signed-off-by: Khem Raj --- recipes/gcc/gcc-4.4.1.inc | 47 ++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 46 insertions(+), 1 deletion(-) (limited to 'recipes/gcc/gcc-4.4.1.inc') diff --git a/recipes/gcc/gcc-4.4.1.inc b/recipes/gcc/gcc-4.4.1.inc index 6ac5ab48ad..9bc4d17dd6 100644 --- a/recipes/gcc/gcc-4.4.1.inc +++ b/recipes/gcc/gcc-4.4.1.inc @@ -7,7 +7,7 @@ LICENSE = "GPLv3" DEPENDS = "mpfr gmp" -INC_PR = "r4" +INC_PR = "r5" FILESPATHPKG .= ":gcc-$PV" @@ -18,6 +18,8 @@ SRC_URI = "${GNU_MIRROR}/gcc/gcc-${PV}/gcc-${PV}.tar.bz2 \ file://gcc-disable-linux-unwind-with-libc-inhibit.patch;patch=1 \ file://gcc-link-libgcc-with-libm.patch;patch=1 \ file://gcc-improve-tls-macro.patch;patch=1 \ + file://cache-amnesia.patch;patch=1 \ + file://gcc-flags-for-build.patch;patch=1 \ " # Language Overrides FORTRAN = "" @@ -28,3 +30,46 @@ EXTRA_OECONF_BASE = " --enable-libssp \ --disable-libmudflap" EXTRA_OECONF_append_linux-uclibc = " ${@base_contains('TARGET_ARCH', 'powerpc', '--disable-decimal-float --without-long-double-128', '',d)}" +do_configure () { + # Setup these vars for cross building only + # ... because foo_FOR_TARGET apparently gets misinterpreted inside the + # gcc build stuff when the build is producing a cross compiler - i.e. + # when the 'current' target is the 'host' system, and the host is not + # the target (because the build is actually making a cross compiler!) + if [ "${BUILD_SYS}" != "${HOST_SYS}" ]; then + export CC_FOR_TARGET="${CC}" + export GCC_FOR_TARGET="${CC}" + export CXX_FOR_TARGET="${CXX}" + export AS_FOR_TARGET="${HOST_PREFIX}as" + export LD_FOR_TARGET="${HOST_PREFIX}ld" + export NM_FOR_TARGET="${HOST_PREFIX}nm" + export AR_FOR_TARGET="${HOST_PREFIX}ar" + export GFORTRAN_FOR_TARGET="gfortran" + export RANLIB_FOR_TARGET="${HOST_PREFIX}ranlib" + fi + export CC_FOR_BUILD="${BUILD_CC}" + export CXX_FOR_BUILD="${BUILD_CXX}" + export CFLAGS_FOR_BUILD="${BUILD_CFLAGS}" + export CPPFLAGS_FOR_BUILD="${BUILD_CPPFLAGS}" + export CXXFLAGS_FOR_BUILD="${BUILD_CXXFLAGS}" + export LDFLAGS_FOR_BUILD="${BUILD_LDFLAGS}" + export ARCH_FLAGS_FOR_TARGET="${ARCH_FLAGS_FOR_TARGET}" + + # Make sure LDFLAGS are honored. + sed -i 's/^LDFLAGS = $/LDFLAGS = @LDFLAGS@/' ${S}/Makefile.in + 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 + + #echo "#define STANDARD_INCLUDE_DIR \"${layout_includedir}\"" >> ${S}/gcc/defaults.h + + oe_runconf + + # make sure that no @LDFLAG@ is left in the generated Makefile + sed -i "s/@LDFLAGS@//g" ${B}/Makefile +} -- cgit 1.2.3-korg