mirror of
https://git.yoctoproject.org/poky
synced 2026-04-23 00:32:12 +02:00
gcc-cross-initial: Separate out libgcc-initial
Its useful to separate out the native (cross) binaries from the target compilation. We already do this for libgcc, this now takes the same approach for -initial. (From OE-Core rev: 8a2aaf8b6bdca2d28c0047093c7f668750d57666) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
DEPENDS = "linux-libc-headers virtual/${TARGET_PREFIX}gcc-initial"
|
||||
DEPENDS = "linux-libc-headers virtual/${TARGET_PREFIX}gcc-initial libgcc-initial"
|
||||
PROVIDES = "virtual/${TARGET_PREFIX}libc-initial"
|
||||
|
||||
PACKAGES = ""
|
||||
|
||||
@@ -33,7 +33,7 @@ siteconfig_do_siteconfig_gencache_prepend = " \
|
||||
"
|
||||
|
||||
# nptl needs unwind support in gcc, which can't be built without glibc.
|
||||
DEPENDS = "virtual/${TARGET_PREFIX}gcc-initial linux-libc-headers virtual/${TARGET_PREFIX}libc-initial"
|
||||
DEPENDS = "virtual/${TARGET_PREFIX}gcc-initial libgcc-initial linux-libc-headers virtual/${TARGET_PREFIX}libc-initial"
|
||||
# nptl needs libgcc but dlopens it, so our shlibs code doesn't detect this
|
||||
#RDEPENDS_${PN} += "${@['','libgcc']['nptl' in '${GLIBC_ADDONS}']}"
|
||||
PROVIDES = "virtual/libc virtual/${TARGET_PREFIX}libc-for-gcc"
|
||||
|
||||
@@ -38,10 +38,11 @@ do_configure_prepend () {
|
||||
}
|
||||
|
||||
do_compile () {
|
||||
oe_runmake all-gcc all-target-libgcc
|
||||
oe_runmake all-gcc configure-target-libgcc
|
||||
}
|
||||
do_install () {
|
||||
oe_runmake 'DESTDIR=${D}' install-gcc install-target-libgcc
|
||||
( cd ${B}/${TARGET_SYS}/libgcc; oe_runmake 'DESTDIR=${D}' install-unwind_h )
|
||||
oe_runmake 'DESTDIR=${D}' install-gcc
|
||||
|
||||
# We don't really need this (here shares/ contains man/, info/, locale/).
|
||||
rm -rf ${D}${datadir}/
|
||||
@@ -64,6 +65,14 @@ do_install () {
|
||||
# so we overwirte the generated include-fixed/limits.h for gcc-cross-initial
|
||||
# to get rid references to real limits.h
|
||||
cp gcc/include-fixed/limits.h ${D}${gcclibdir}/${TARGET_SYS}/${BINV}/include-fixed/limits.h
|
||||
|
||||
# gcc-runtime installs libgcc into a special location in staging since it breaks doing a standalone build
|
||||
case ${PN} in
|
||||
*gcc-cross-initial|*gcc-crosssdk-initial)
|
||||
dest=${D}/${includedir}/gcc-build-internal-initial-${MULTIMACH_TARGET_SYS}
|
||||
hardlinkdir . $dest
|
||||
;;
|
||||
esac
|
||||
}
|
||||
#
|
||||
# Override the default sysroot staging copy since this won't look like a target system
|
||||
|
||||
16
meta/recipes-devtools/gcc/libgcc-initial.inc
Normal file
16
meta/recipes-devtools/gcc/libgcc-initial.inc
Normal file
@@ -0,0 +1,16 @@
|
||||
require libgcc-common.inc
|
||||
|
||||
DEPENDS = "virtual/${TARGET_PREFIX}gcc-initial"
|
||||
|
||||
STAGINGCC = "gcc-cross-initial"
|
||||
STAGINGCC_class-nativesdk = "gcc-crosssdk-initial"
|
||||
PATH_prepend = "${STAGING_BINDIR_TOOLCHAIN}.${STAGINGCC}:"
|
||||
|
||||
PACKAGES = ""
|
||||
|
||||
EXTRA_OECONF += "--disable-shared"
|
||||
|
||||
LIBGCCBUILDTREENAME = "gcc-build-internal-initial-"
|
||||
|
||||
do_populate_sysroot[sstate-outputdirs] = "${STAGING_DIR_TCBOOTSTRAP}/"
|
||||
|
||||
2
meta/recipes-devtools/gcc/libgcc-initial_4.8.bb
Normal file
2
meta/recipes-devtools/gcc/libgcc-initial_4.8.bb
Normal file
@@ -0,0 +1,2 @@
|
||||
require recipes-devtools/gcc/gcc-${PV}.inc
|
||||
require libgcc-initial.inc
|
||||
Reference in New Issue
Block a user