[oe-commits] org.oe.dev gcc: Enable sysroot options, hacking around path layout issues for now. This fixes the sdk version to use the correct sysroot which is important for ease of use of SDKs and standalone toolchains. This change means a gcc rebuild unfortunately

rpurdie commit openembedded-commits at lists.openembedded.org
Thu Feb 28 00:31:44 UTC 2008


gcc: Enable sysroot options, hacking around path layout issues for now. This fixes the sdk version to use the correct sysroot which is important for ease of use of SDKs and standalone toolchains. This change means a gcc rebuild unfortunately

Author: rpurdie at openembedded.org
Branch: org.openembedded.dev
Revision: 630bb2aaaac174b3d70399ff3fc6fb3a647d53dd
ViewMTN: http://monotone.openembedded.org/revision/info/630bb2aaaac174b3d70399ff3fc6fb3a647d53dd
Files:
1
packages/gcc/gcc-cross-initial.inc
packages/gcc/gcc-cross-sdk_3.4.3.bb
packages/gcc/gcc-cross-sdk_3.4.4.bb
packages/gcc/gcc-cross-sdk_4.1.0.bb
packages/gcc/gcc-cross-sdk_4.1.1.bb
packages/gcc/gcc-cross-sdk_4.1.2.bb
packages/gcc/gcc-cross-sdk_4.2.2.bb
packages/gcc/gcc-cross_3.4.3.bb
packages/gcc/gcc-cross_3.4.4.bb
packages/gcc/gcc-cross_4.0.0.bb
packages/gcc/gcc-cross_4.0.2.bb
packages/gcc/gcc-cross_4.1.0.bb
packages/gcc/gcc-cross_4.1.1.bb
packages/gcc/gcc-cross_4.1.2.bb
packages/gcc/gcc-cross_4.2.1.bb
packages/gcc/gcc-cross_4.2.2.bb
packages/gcc/gcc3-build-cross.inc
packages/gcc/gcc3-build-sdk.inc
packages/gcc/gcc4-build-sdk.inc
Diffs:

#
# mt diff -r4e74a69790ed552f0db3eb123ae374c6eb808c6c -r630bb2aaaac174b3d70399ff3fc6fb3a647d53dd
#
# 
# 
# patch "packages/gcc/gcc-cross-initial.inc"
#  from [fb66b62909bd934c21054254204b8d744c47c58e]
#    to [9ba43750cd0139966a6dcf2b4103056bf5ff486a]
# 
# patch "packages/gcc/gcc-cross-sdk_3.4.3.bb"
#  from [fa5ca4ad0eaf2ec0fa465b06f463bee485c52b64]
#    to [ffaafb6a6ef931a5cd71c7623aba38189dc94161]
# 
# patch "packages/gcc/gcc-cross-sdk_3.4.4.bb"
#  from [5f68404197e1e64b85ecc871a56c3b92bcf9f7aa]
#    to [d3ec03c6a033da2116bc98ad62f5bbd5e55c9d56]
# 
# patch "packages/gcc/gcc-cross-sdk_4.1.0.bb"
#  from [2cea3da097f8c9f838e82a3e085426ce0916af21]
#    to [9ee8cf0ade345ec09bf8fdf048b6e26f46f45b9e]
# 
# patch "packages/gcc/gcc-cross-sdk_4.1.1.bb"
#  from [5c546cdb3a65f3df1a7baf621b678a749317eb68]
#    to [ddd01150678777da335ac78d58df4957ee59644c]
# 
# patch "packages/gcc/gcc-cross-sdk_4.1.2.bb"
#  from [a242107a56b03242a022e20b178173f22bc0725b]
#    to [f6823faca21c5b3fb2b5d4d25f3dd36e55d5001a]
# 
# patch "packages/gcc/gcc-cross-sdk_4.2.2.bb"
#  from [c51f994c61ce378fb2761f8e6d0cc77071b8dcfe]
#    to [fce0dd37759eb94742b68054f611c6107eefb1a9]
# 
# patch "packages/gcc/gcc-cross_3.4.3.bb"
#  from [ce70bdb3ff0e605e841fa835bc20169914ea708a]
#    to [514d5058dc7a33129401ab42cd5549f3cabf0cfe]
# 
# patch "packages/gcc/gcc-cross_3.4.4.bb"
#  from [453cf98f7ad3555176dec060ff5490029d02f14b]
#    to [69929383ab187bf47e33045c5861a05ce0a1c1e5]
# 
# patch "packages/gcc/gcc-cross_4.0.0.bb"
#  from [c79d4560cc3836f3ce5567ced695e38cd89cf6ff]
#    to [66b1c29a2ab7943cc607d286832df71b04a055e3]
# 
# patch "packages/gcc/gcc-cross_4.0.2.bb"
#  from [a6084e5e13c9ec9dd14a200160e5084964df24f4]
#    to [32bf3db753e1a89ae6840f7a83051d90fe0c2a3f]
# 
# patch "packages/gcc/gcc-cross_4.1.0.bb"
#  from [4f00addbaa7626b70215367ef53de6d49b4c6a7e]
#    to [ceefff285e464b7d8c5eb921fa0eb1d5b8e773c0]
# 
# patch "packages/gcc/gcc-cross_4.1.1.bb"
#  from [58ae5981f8140e05dac1bd3269a880d0ddbbd0d6]
#    to [b31cc28d6cd529d33a78cd9bd190c5e48a8e43f2]
# 
# patch "packages/gcc/gcc-cross_4.1.2.bb"
#  from [e659d9e6674737d1b04faad23ba65c74a3626216]
#    to [4c675cf59006eb6efcd020cc5901707c23d0139f]
# 
# patch "packages/gcc/gcc-cross_4.2.1.bb"
#  from [5ef221a66a8deb2c9907050226443b591077ebc2]
#    to [2f16ff83d690b1b8e87a423c4a22b0bc0480f90a]
# 
# patch "packages/gcc/gcc-cross_4.2.2.bb"
#  from [638f8a17318b6c935909d7b7f11cc6506e57d6af]
#    to [966323ee244047dc2568f0dec747e5437039225f]
# 
# patch "packages/gcc/gcc3-build-cross.inc"
#  from [f5b8eae287025914fe8384905949c0372af6d9d0]
#    to [6b61dc663b321ffd6f1992e3587e47c2440c31fe]
# 
# patch "packages/gcc/gcc3-build-sdk.inc"
#  from [16e2c3d38974861286d1f0f8bc24f824b1a11969]
#    to [e80775fa7cdad10299b39edefff6b5cdb7120bda]
# 
# patch "packages/gcc/gcc4-build-sdk.inc"
#  from [803d124f9bdd702633e7820806cfc41d7703ddc8]
#    to [87829c7148dd1ac08f628d6ee4be53f410490e7b]
# 
============================================================
--- packages/gcc/gcc-cross-initial.inc	fb66b62909bd934c21054254204b8d744c47c58e
+++ packages/gcc/gcc-cross-initial.inc	9ba43750cd0139966a6dcf2b4103056bf5ff486a
@@ -1,10 +1,10 @@ PACKAGES = ""
 DEPENDS = "virtual/${TARGET_PREFIX}binutils"
 DEPENDS += "${@['virtual/${TARGET_PREFIX}libc-initial',''][bb.data.getVar('TARGET_ARCH', d, 1) in ['arm', 'armeb', 'mips', 'mipsel']]}"
 PROVIDES = "virtual/${TARGET_PREFIX}gcc-initial"
 PACKAGES = ""
 
 # This is intended to be a -very- basic config
-EXTRA_OECONF = "--with-local-prefix=${STAGING_DIR}/${TARGET_SYS} \
+EXTRA_OECONF = "--with-local-prefix=${STAGING_DIR_TARGET}${layout_prefix} \
 		--with-newlib \
 		--disable-shared \
 		--disable-threads \
============================================================
--- packages/gcc/gcc-cross-sdk_3.4.3.bb	fa5ca4ad0eaf2ec0fa465b06f463bee485c52b64
+++ packages/gcc/gcc-cross-sdk_3.4.3.bb	ffaafb6a6ef931a5cd71c7623aba38189dc94161
@@ -1,9 +1,9 @@ require gcc_${PV}.bb
 DESCRIPTION = "The GNU cc and gcc C compilers."
 HOMEPAGE = "http://www.gnu.org/software/gcc/"
 SECTION = "devel"
 LICENSE = "GPL"
 require gcc_${PV}.bb
-PR = "r0"
+PR = "r1"
 
 inherit sdk
 
============================================================
--- packages/gcc/gcc-cross-sdk_3.4.4.bb	5f68404197e1e64b85ecc871a56c3b92bcf9f7aa
+++ packages/gcc/gcc-cross-sdk_3.4.4.bb	d3ec03c6a033da2116bc98ad62f5bbd5e55c9d56
@@ -1,9 +1,9 @@ require gcc_${PV}.bb
 DESCRIPTION = "The GNU cc and gcc C compilers."
 HOMEPAGE = "http://www.gnu.org/software/gcc/"
 SECTION = "devel"
 LICENSE = "GPL"
 require gcc_${PV}.bb
-PR = "r2"
+PR = "r3"
 
 inherit sdk
 
============================================================
--- packages/gcc/gcc-cross-sdk_4.1.0.bb	2cea3da097f8c9f838e82a3e085426ce0916af21
+++ packages/gcc/gcc-cross-sdk_4.1.0.bb	9ee8cf0ade345ec09bf8fdf048b6e26f46f45b9e
@@ -1,9 +1,9 @@ require gcc_${PV}.bb
 DESCRIPTION = "The GNU cc and gcc C compilers."
 HOMEPAGE = "http://www.gnu.org/software/gcc/"
 SECTION = "devel"
 LICENSE = "GPL"
 require gcc_${PV}.bb
-PR = "r1"
+PR = "r2"
 
 inherit sdk
 
============================================================
--- packages/gcc/gcc-cross-sdk_4.1.1.bb	5c546cdb3a65f3df1a7baf621b678a749317eb68
+++ packages/gcc/gcc-cross-sdk_4.1.1.bb	ddd01150678777da335ac78d58df4957ee59644c
@@ -1,8 +1,8 @@ LICENSE = "GPL"
 DESCRIPTION = "The GNU cc and gcc C compilers."
 HOMEPAGE = "http://www.gnu.org/software/gcc/"
 SECTION = "devel"
 LICENSE = "GPL"
-PR = "r2"
+PR = "r3"
 
 inherit sdk
 
============================================================
--- packages/gcc/gcc-cross-sdk_4.1.2.bb	a242107a56b03242a022e20b178173f22bc0725b
+++ packages/gcc/gcc-cross-sdk_4.1.2.bb	f6823faca21c5b3fb2b5d4d25f3dd36e55d5001a
@@ -1,4 +1,4 @@
-PR = "r4"
+PR = "r5"
 
 inherit sdk
 
============================================================
--- packages/gcc/gcc-cross-sdk_4.2.2.bb	c51f994c61ce378fb2761f8e6d0cc77071b8dcfe
+++ packages/gcc/gcc-cross-sdk_4.2.2.bb	fce0dd37759eb94742b68054f611c6107eefb1a9
@@ -1,8 +1,8 @@ LICENSE = "GPL"
 DESCRIPTION = "The GNU cc and gcc C compilers."
 HOMEPAGE = "http://www.gnu.org/software/gcc/"
 SECTION = "devel"
 LICENSE = "GPL"
-PR = "r2"
+PR = "r3"
 
 inherit sdk
 
============================================================
--- packages/gcc/gcc-cross_3.4.3.bb	ce70bdb3ff0e605e841fa835bc20169914ea708a
+++ packages/gcc/gcc-cross_3.4.3.bb	514d5058dc7a33129401ab42cd5549f3cabf0cfe
@@ -5,7 +5,7 @@ FILESDIR = "${@os.path.dirname(bb.data.g
 FILESDIR = "${@os.path.dirname(bb.data.getVar('FILE',d,1))}/gcc-${PV}"
 # NOTE: split PR.  If the main .oe changes something that affects its *build*
 # remember to increment this one too.
-PR = "r12"
+PR = "r13"
 
 DEPENDS = "virtual/${TARGET_PREFIX}binutils virtual/${TARGET_PREFIX}libc-for-gcc"
 PROVIDES = "virtual/${TARGET_PREFIX}gcc virtual/${TARGET_PREFIX}g++"
============================================================
--- packages/gcc/gcc-cross_3.4.4.bb	453cf98f7ad3555176dec060ff5490029d02f14b
+++ packages/gcc/gcc-cross_3.4.4.bb	69929383ab187bf47e33045c5861a05ce0a1c1e5
@@ -5,7 +5,7 @@ FILESDIR = "${@os.path.dirname(bb.data.g
 FILESDIR = "${@os.path.dirname(bb.data.getVar('FILE',d,1))}/gcc-${PV}"
 # NOTE: split PR.  If the main .oe changes something that affects its *build*
 # remember to increment this one too.
-PR = "r7"
+PR = "r8"
 
 DEPENDS = "virtual/${TARGET_PREFIX}binutils virtual/${TARGET_PREFIX}libc-for-gcc"
 PROVIDES = "virtual/${TARGET_PREFIX}gcc virtual/${TARGET_PREFIX}g++"
============================================================
--- packages/gcc/gcc-cross_4.0.0.bb	c79d4560cc3836f3ce5567ced695e38cd89cf6ff
+++ packages/gcc/gcc-cross_4.0.0.bb	66b1c29a2ab7943cc607d286832df71b04a055e3
@@ -5,7 +5,7 @@ FILESDIR = "${@os.path.dirname(bb.data.g
 FILESDIR = "${@os.path.dirname(bb.data.getVar('FILE',d,1))}/gcc-${PV}"
 # NOTE: split PR.  If the main .oe changes something that affects its *build*
 # remember to increment this one too.
-PR = "r3"
+PR = "r4"
 
 DEPENDS = "virtual/${TARGET_PREFIX}binutils virtual/${TARGET_PREFIX}libc-for-gcc gmp-native mpfr-native"
 PROVIDES = "virtual/${TARGET_PREFIX}gcc virtual/${TARGET_PREFIX}g++"
============================================================
--- packages/gcc/gcc-cross_4.0.2.bb	a6084e5e13c9ec9dd14a200160e5084964df24f4
+++ packages/gcc/gcc-cross_4.0.2.bb	32bf3db753e1a89ae6840f7a83051d90fe0c2a3f
@@ -5,7 +5,7 @@ FILESDIR = "${@os.path.dirname(bb.data.g
 FILESDIR = "${@os.path.dirname(bb.data.getVar('FILE',d,1))}/gcc-${PV}"
 # NOTE: split PR.  If the main .oe changes something that affects its *build*
 # remember to increment this one too.
-PR = "r9"
+PR = "r10"
 
 DEPENDS = "virtual/${TARGET_PREFIX}binutils virtual/${TARGET_PREFIX}libc-for-gcc gmp-native mpfr-native"
 PROVIDES = "virtual/${TARGET_PREFIX}gcc virtual/${TARGET_PREFIX}g++"
============================================================
--- packages/gcc/gcc-cross_4.1.0.bb	4f00addbaa7626b70215367ef53de6d49b4c6a7e
+++ packages/gcc/gcc-cross_4.1.0.bb	ceefff285e464b7d8c5eb921fa0eb1d5b8e773c0
@@ -5,7 +5,7 @@ FILESDIR = "${@os.path.dirname(bb.data.g
 FILESDIR = "${@os.path.dirname(bb.data.getVar('FILE',d,1))}/gcc-${PV}"
 # NOTE: split PR.  If the main .oe changes something that affects its *build*
 # remember to increment this one too.
-PR = "r4"
+PR = "r5"
 
 DEPENDS = "virtual/${TARGET_PREFIX}binutils virtual/${TARGET_PREFIX}libc-for-gcc gmp-native mpfr-native"
 PROVIDES = "virtual/${TARGET_PREFIX}gcc virtual/${TARGET_PREFIX}g++"
============================================================
--- packages/gcc/gcc-cross_4.1.1.bb	58ae5981f8140e05dac1bd3269a880d0ddbbd0d6
+++ packages/gcc/gcc-cross_4.1.1.bb	b31cc28d6cd529d33a78cd9bd190c5e48a8e43f2
@@ -5,7 +5,7 @@ FILESDIR = "${@os.path.dirname(bb.data.g
 FILESDIR = "${@os.path.dirname(bb.data.getVar('FILE',d,1))}/gcc-${PV}"
 # NOTE: split PR.  If the main .oe changes something that affects its *build*
 # remember to increment this one too.
-PR = "r17"
+PR = "r18"
 
 DEPENDS = "virtual/${TARGET_PREFIX}binutils virtual/${TARGET_PREFIX}libc-for-gcc gmp-native mpfr-native"
 PROVIDES = "virtual/${TARGET_PREFIX}gcc virtual/${TARGET_PREFIX}g++"
============================================================
--- packages/gcc/gcc-cross_4.1.2.bb	e659d9e6674737d1b04faad23ba65c74a3626216
+++ packages/gcc/gcc-cross_4.1.2.bb	4c675cf59006eb6efcd020cc5901707c23d0139f
@@ -5,7 +5,7 @@ FILESDIR = "${@os.path.dirname(bb.data.g
 FILESDIR = "${@os.path.dirname(bb.data.getVar('FILE',d,1))}/gcc-${PV}"
 # NOTE: split PR.  If the main .bb changes something that affects its *build*
 # remember to increment this one too.
-PR = "r13"
+PR = "r14"
 
 DEPENDS = "virtual/${TARGET_PREFIX}binutils virtual/${TARGET_PREFIX}libc-for-gcc gmp-native mpfr-native"
 PROVIDES = "virtual/${TARGET_PREFIX}gcc virtual/${TARGET_PREFIX}g++"
============================================================
--- packages/gcc/gcc-cross_4.2.1.bb	5ef221a66a8deb2c9907050226443b591077ebc2
+++ packages/gcc/gcc-cross_4.2.1.bb	2f16ff83d690b1b8e87a423c4a22b0bc0480f90a
@@ -5,7 +5,7 @@ FILESDIR = "${@os.path.dirname(bb.data.g
 FILESDIR = "${@os.path.dirname(bb.data.getVar('FILE',d,1))}/gcc-${PV}"
 # NOTE: split PR.  If the main .oe changes something that affects its *build*
 # remember to increment this one too.
-PR = "r10"
+PR = "r11"
 
 DEPENDS = "virtual/${TARGET_PREFIX}binutils virtual/${TARGET_PREFIX}libc-for-gcc gmp-native mpfr-native"
 PROVIDES = "virtual/${TARGET_PREFIX}gcc virtual/${TARGET_PREFIX}g++"
============================================================
--- packages/gcc/gcc-cross_4.2.2.bb	638f8a17318b6c935909d7b7f11cc6506e57d6af
+++ packages/gcc/gcc-cross_4.2.2.bb	966323ee244047dc2568f0dec747e5437039225f
@@ -5,7 +5,7 @@ FILESDIR = "${@os.path.dirname(bb.data.g
 FILESDIR = "${@os.path.dirname(bb.data.getVar('FILE',d,1))}/gcc-${PV}"
 # NOTE: split PR.  If the main .oe changes something that affects its *build*
 # remember to increment this one too.
-PR = "r3"
+PR = "r4"
 
 DEPENDS = "virtual/${TARGET_PREFIX}binutils virtual/${TARGET_PREFIX}libc-for-gcc gmp-native mpfr-native"
 PROVIDES = "virtual/${TARGET_PREFIX}gcc virtual/${TARGET_PREFIX}g++"
============================================================
--- packages/gcc/gcc3-build-cross.inc	f5b8eae287025914fe8384905949c0372af6d9d0
+++ packages/gcc/gcc3-build-cross.inc	6b61dc663b321ffd6f1992e3587e47c2440c31fe
@@ -1,7 +1,9 @@ USE_NLS = '${@base_conditional( "TARGET_
 USE_NLS = '${@base_conditional( "TARGET_OS", "linux-uclibc", "no", "", d )}'
 
-EXTRA_OECONF_PATHS = "--with-local-prefix=${STAGING_DIR}/${TARGET_SYS} \
-		      --with-gxx-include-dir=${STAGING_DIR}/${TARGET_SYS}/include/c++"
+EXTRA_OECONF_PATHS = "--with-local-prefix=${STAGING_DIR_TARGET}${layout_prefix} \
+		      --with-gxx-include-dir=${STAGING_DIR_TARGET}/${layout_includedir}/c++ \
+                      --with-sysroot=${STAGING_DIR_TARGET} \
+                      --with-build-sysroot=${STAGING_DIR_TARGET}"
 
 do_configure_prepend () {
 	rm -f ${CROSS_DIR}/lib/gcc/${TARGET_SYS}/${BINV}/libgcc_eh.a
@@ -21,6 +23,11 @@ do_stage_append () {
 		rm -rf ${CROSS_DIR}/$d
 	done
 
+    # Hack to be removed when staging layout matches the target layout
+    if [ ! -e ${STAGING_DIR_TARGET}/usr ]; then
+        ln -s ${STAGING_DIR_TARGET} ${STAGING_DIR_TARGET}/usr
+    fi
+
 	# Fix a few include links so cross builds are happier
 	if [ ! -e ${STAGING_INCDIR}/c++ ]; then
 		mkdir -p ${STAGING_INCDIR}
============================================================
--- packages/gcc/gcc3-build-sdk.inc	16e2c3d38974861286d1f0f8bc24f824b1a11969
+++ packages/gcc/gcc3-build-sdk.inc	e80775fa7cdad10299b39edefff6b5cdb7120bda
@@ -1,9 +1,9 @@ SRC_URI += 'file://sdk-libstdc++-include
 USE_NLS = '${@base_conditional( "TARGET_OS", "linux-uclibc", "no", "", d )}'
 
 SRC_URI += 'file://sdk-libstdc++-includes.patch;patch=1'
 
-STAGING_TARGET_INCDIR = "${STAGING_DIR}/${TARGET_SYS}/include"
-STAGING_TARGET_LIBDIR = "${STAGING_DIR}/${TARGET_SYS}/lib"
+STAGING_TARGET_INCDIR = "${STAGING_DIR_TARGET}${layout_includedir}"
+STAGING_TARGET_LIBDIR = "${STAGING_DIR_TARGET}${layout_libdir}"
 
 do_configure () {
        (cd ${S} && gnu-configize) || die "failure running gnu-configize"
============================================================
--- packages/gcc/gcc4-build-sdk.inc	803d124f9bdd702633e7820806cfc41d7703ddc8
+++ packages/gcc/gcc4-build-sdk.inc	87829c7148dd1ac08f628d6ee4be53f410490e7b
@@ -1,14 +1,13 @@ USE_NLS = '${@base_conditional( "TARGET_
 USE_NLS = '${@base_conditional( "TARGET_OS", "linux-uclibc", "no", "", d )}'
 USE_NLS = '${@base_conditional( "TARGET_OS", "linux-uclibcgnueabi", "no", "", d )}'
 
-SYSROOT = "${WORKDIR}/sysroot"
-EXTRA_OECONF += "--with-sysroot=${SYSROOT}"
+EXTRA_OECONF += "--with-sysroot=${prefix}/${TARGET_SYS} --with-build-sysroot=${STAGING_DIR_TARGET}"
 
 do_configure () {
-       # Work around Hardcoded path assumptions in gcc
-       mkdir -p ${SYSROOT}/usr/
-       ln -s ${STAGING_DIR}/${TARGET_SYS}/include ${SYSROOT}/usr/include
-       ln -s ${STAGING_DIR}/${TARGET_SYS}/lib ${SYSROOT}/usr/lib
+       # Hack to be removed when staging layout matches the target layout
+       if [ ! -e ${STAGING_DIR_TARGET}/usr ]; then
+           ln -s ${STAGING_DIR_TARGET} ${STAGING_DIR_TARGET}/usr
+       fi
        (cd ${S} && gnu-configize) || die "failure running gnu-configize"
        (cd ${S}/libstdc++-v3 && autoreconf)
        oe_runconf






More information about the Openembedded-commits mailing list