summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRichard Purdie <richard.purdie@linuxfoundation.org>2014-04-24 15:24:09 +0100
committerRichard Purdie <richard.purdie@linuxfoundation.org>2014-04-25 17:19:18 +0100
commit5f993cb112bf0b7a188efbe2a9580997509418fd (patch)
tree369c704ed6c80ca007a9ac081d7bb6de6e2fe495
parentee758b69276d3ef8bdd7040ec8725cec2b4bad7c (diff)
downloadpoky-5f993cb112bf0b7a188efbe2a9580997509418fd.tar.gz
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>
-rw-r--r--meta/recipes-core/eglibc/eglibc-initial.inc2
-rw-r--r--meta/recipes-core/eglibc/eglibc.inc2
-rw-r--r--meta/recipes-devtools/gcc/gcc-cross-initial.inc13
-rw-r--r--meta/recipes-devtools/gcc/libgcc-initial.inc16
-rw-r--r--meta/recipes-devtools/gcc/libgcc-initial_4.8.bb2
5 files changed, 31 insertions, 4 deletions
diff --git a/meta/recipes-core/eglibc/eglibc-initial.inc b/meta/recipes-core/eglibc/eglibc-initial.inc
index 0f0e1cd5e1..4cc6ffea99 100644
--- a/meta/recipes-core/eglibc/eglibc-initial.inc
+++ b/meta/recipes-core/eglibc/eglibc-initial.inc
@@ -1,4 +1,4 @@
1DEPENDS = "linux-libc-headers virtual/${TARGET_PREFIX}gcc-initial" 1DEPENDS = "linux-libc-headers virtual/${TARGET_PREFIX}gcc-initial libgcc-initial"
2PROVIDES = "virtual/${TARGET_PREFIX}libc-initial" 2PROVIDES = "virtual/${TARGET_PREFIX}libc-initial"
3 3
4PACKAGES = "" 4PACKAGES = ""
diff --git a/meta/recipes-core/eglibc/eglibc.inc b/meta/recipes-core/eglibc/eglibc.inc
index 375b9bc116..04c5d9a237 100644
--- a/meta/recipes-core/eglibc/eglibc.inc
+++ b/meta/recipes-core/eglibc/eglibc.inc
@@ -33,7 +33,7 @@ siteconfig_do_siteconfig_gencache_prepend = " \
33" 33"
34 34
35# nptl needs unwind support in gcc, which can't be built without glibc. 35# nptl needs unwind support in gcc, which can't be built without glibc.
36DEPENDS = "virtual/${TARGET_PREFIX}gcc-initial linux-libc-headers virtual/${TARGET_PREFIX}libc-initial" 36DEPENDS = "virtual/${TARGET_PREFIX}gcc-initial libgcc-initial linux-libc-headers virtual/${TARGET_PREFIX}libc-initial"
37# nptl needs libgcc but dlopens it, so our shlibs code doesn't detect this 37# nptl needs libgcc but dlopens it, so our shlibs code doesn't detect this
38#RDEPENDS_${PN} += "${@['','libgcc']['nptl' in '${GLIBC_ADDONS}']}" 38#RDEPENDS_${PN} += "${@['','libgcc']['nptl' in '${GLIBC_ADDONS}']}"
39PROVIDES = "virtual/libc virtual/${TARGET_PREFIX}libc-for-gcc" 39PROVIDES = "virtual/libc virtual/${TARGET_PREFIX}libc-for-gcc"
diff --git a/meta/recipes-devtools/gcc/gcc-cross-initial.inc b/meta/recipes-devtools/gcc/gcc-cross-initial.inc
index 81845386f9..3870168863 100644
--- a/meta/recipes-devtools/gcc/gcc-cross-initial.inc
+++ b/meta/recipes-devtools/gcc/gcc-cross-initial.inc
@@ -38,10 +38,11 @@ do_configure_prepend () {
38} 38}
39 39
40do_compile () { 40do_compile () {
41 oe_runmake all-gcc all-target-libgcc 41 oe_runmake all-gcc configure-target-libgcc
42} 42}
43do_install () { 43do_install () {
44 oe_runmake 'DESTDIR=${D}' install-gcc install-target-libgcc 44 ( cd ${B}/${TARGET_SYS}/libgcc; oe_runmake 'DESTDIR=${D}' install-unwind_h )
45 oe_runmake 'DESTDIR=${D}' install-gcc
45 46
46 # We don't really need this (here shares/ contains man/, info/, locale/). 47 # We don't really need this (here shares/ contains man/, info/, locale/).
47 rm -rf ${D}${datadir}/ 48 rm -rf ${D}${datadir}/
@@ -64,6 +65,14 @@ do_install () {
64 # so we overwirte the generated include-fixed/limits.h for gcc-cross-initial 65 # so we overwirte the generated include-fixed/limits.h for gcc-cross-initial
65 # to get rid references to real limits.h 66 # to get rid references to real limits.h
66 cp gcc/include-fixed/limits.h ${D}${gcclibdir}/${TARGET_SYS}/${BINV}/include-fixed/limits.h 67 cp gcc/include-fixed/limits.h ${D}${gcclibdir}/${TARGET_SYS}/${BINV}/include-fixed/limits.h
68
69 # gcc-runtime installs libgcc into a special location in staging since it breaks doing a standalone build
70 case ${PN} in
71 *gcc-cross-initial|*gcc-crosssdk-initial)
72 dest=${D}/${includedir}/gcc-build-internal-initial-${MULTIMACH_TARGET_SYS}
73 hardlinkdir . $dest
74 ;;
75 esac
67} 76}
68# 77#
69# Override the default sysroot staging copy since this won't look like a target system 78# Override the default sysroot staging copy since this won't look like a target system
diff --git a/meta/recipes-devtools/gcc/libgcc-initial.inc b/meta/recipes-devtools/gcc/libgcc-initial.inc
new file mode 100644
index 0000000000..2ba27a81d8
--- /dev/null
+++ b/meta/recipes-devtools/gcc/libgcc-initial.inc
@@ -0,0 +1,16 @@
1require libgcc-common.inc
2
3DEPENDS = "virtual/${TARGET_PREFIX}gcc-initial"
4
5STAGINGCC = "gcc-cross-initial"
6STAGINGCC_class-nativesdk = "gcc-crosssdk-initial"
7PATH_prepend = "${STAGING_BINDIR_TOOLCHAIN}.${STAGINGCC}:"
8
9PACKAGES = ""
10
11EXTRA_OECONF += "--disable-shared"
12
13LIBGCCBUILDTREENAME = "gcc-build-internal-initial-"
14
15do_populate_sysroot[sstate-outputdirs] = "${STAGING_DIR_TCBOOTSTRAP}/"
16
diff --git a/meta/recipes-devtools/gcc/libgcc-initial_4.8.bb b/meta/recipes-devtools/gcc/libgcc-initial_4.8.bb
new file mode 100644
index 0000000000..19f253fce8
--- /dev/null
+++ b/meta/recipes-devtools/gcc/libgcc-initial_4.8.bb
@@ -0,0 +1,2 @@
1require recipes-devtools/gcc/gcc-${PV}.inc
2require libgcc-initial.inc