summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKhem Raj <raj.khem@gmail.com>2012-08-15 23:16:11 -0700
committerRichard Purdie <richard.purdie@linuxfoundation.org>2012-08-21 12:15:32 +0100
commit48df3fe947c4d900aa6b66d9d8352c0d9e59ebe4 (patch)
tree46ee821cd3792d650abecf095354e754343e2dad
parentb0faebd1f07e1616004bd19664395932e7c2c48f (diff)
downloadpoky-48df3fe947c4d900aa6b66d9d8352c0d9e59ebe4.tar.gz
eglibc: Fix eglibc-initial and let eglibc depend on it
eglibc-initial does not need to install fake shared libs anymore so drop it. eglibc now should depend on eglibc-initial so that bootstrap sysroot gets populated properly. Drop references to gcc intermediate from glibc testing scripts. (From OE-Core rev: bddc141e7cec18744902787ab53c21bf28e71f78) Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rw-r--r--meta/recipes-core/eglibc/eglibc-initial.inc16
-rw-r--r--meta/recipes-core/eglibc/eglibc-testing.inc2
-rw-r--r--meta/recipes-core/eglibc/eglibc.inc11
3 files changed, 15 insertions, 14 deletions
diff --git a/meta/recipes-core/eglibc/eglibc-initial.inc b/meta/recipes-core/eglibc/eglibc-initial.inc
index 1020e402d3..3b99ac2854 100644
--- a/meta/recipes-core/eglibc/eglibc-initial.inc
+++ b/meta/recipes-core/eglibc/eglibc-initial.inc
@@ -32,6 +32,9 @@ do_install () {
32 install-bootstrap-headers=yes install-headers 32 install-bootstrap-headers=yes install-headers
33 33
34 oe_runmake csu/subdir_lib 34 oe_runmake csu/subdir_lib
35 mkdir -p ${D}${libdir}/
36 install -m 644 csu/crt[1in].o ${D}${libdir}
37
35 # Two headers -- stubs.h and features.h -- aren't installed by install-headers, 38 # Two headers -- stubs.h and features.h -- aren't installed by install-headers,
36 # so do them by hand. We can tolerate an empty stubs.h for the moment. 39 # so do them by hand. We can tolerate an empty stubs.h for the moment.
37 # See e.g. http://gcc.gnu.org/ml/gcc/2002-01/msg00900.html 40 # See e.g. http://gcc.gnu.org/ml/gcc/2002-01/msg00900.html
@@ -42,15 +45,10 @@ do_install () {
42 if [ -e ${B}/bits/stdio_lim.h ]; then 45 if [ -e ${B}/bits/stdio_lim.h ]; then
43 cp ${B}/bits/stdio_lim.h ${D}${includedir}/bits/ 46 cp ${B}/bits/stdio_lim.h ${D}${includedir}/bits/
44 fi 47 fi
45 mkdir -p ${D}${libdir}/ 48 # add links to linux-libc-headers: final eglibc build need this.
46 install -m 644 csu/crt[1in].o ${D}${libdir} 49 for t in linux asm asm-generic; do
47 ${CC} -nostdlib -nostartfiles -shared -x c /dev/null \ 50 ln -s ${STAGING_DIR_TARGET}${includedir}/$t ${D}${includedir}/
48 -o ${D}${libdir}/libc.so 51 done
49
50 # add links to linux-libc-headers: gcc-{cross,crossdk}-intermediate need this.
51 for t in linux asm asm-generic; do
52 ln -s ${STAGING_DIR_TARGET}${includedir}/$t ${D}${includedir}/
53 done
54} 52}
55 53
56do_install_locale() { 54do_install_locale() {
diff --git a/meta/recipes-core/eglibc/eglibc-testing.inc b/meta/recipes-core/eglibc/eglibc-testing.inc
index a5ce773bfc..ab3ec1555f 100644
--- a/meta/recipes-core/eglibc/eglibc-testing.inc
+++ b/meta/recipes-core/eglibc/eglibc-testing.inc
@@ -37,7 +37,7 @@ do_compile_append () {
37 sed -i -e "s/\-tcbootstrap//g" ${B}/${HOST_PREFIX}testeglibc 37 sed -i -e "s/\-tcbootstrap//g" ${B}/${HOST_PREFIX}testeglibc
38 38
39 # use the final cross-gcc to test since some tests need libstdc++ 39 # use the final cross-gcc to test since some tests need libstdc++
40 sed -i -e "s/^PATH=.*\.gcc-cross-intermediate\:/PATH=/g" ${B}/${HOST_PREFIX}testeglibc 40 sed -i -e "s/^PATH=.*\.gcc-cross-initial\:/PATH=/g" ${B}/${HOST_PREFIX}testeglibc
41 41
42 # append execution part script 42 # append execution part script
43cat >> ${B}/${HOST_PREFIX}testeglibc << STOP 43cat >> ${B}/${HOST_PREFIX}testeglibc << STOP
diff --git a/meta/recipes-core/eglibc/eglibc.inc b/meta/recipes-core/eglibc/eglibc.inc
index 51061bc7bd..02f3c7a959 100644
--- a/meta/recipes-core/eglibc/eglibc.inc
+++ b/meta/recipes-core/eglibc/eglibc.inc
@@ -2,8 +2,8 @@ require eglibc-common.inc
2require eglibc-ld.inc 2require eglibc-ld.inc
3require eglibc-testing.inc 3require eglibc-testing.inc
4 4
5STAGINGCC = "gcc-cross-intermediate" 5STAGINGCC = "gcc-cross-initial"
6STAGINGCC_virtclass-nativesdk = "gcc-crosssdk-intermediate" 6STAGINGCC_virtclass-nativesdk = "gcc-crosssdk-initial"
7PATH_prepend = "${STAGING_BINDIR_TOOLCHAIN}.${STAGINGCC}:" 7PATH_prepend = "${STAGING_BINDIR_TOOLCHAIN}.${STAGINGCC}:"
8 8
9TOOLCHAIN_OPTIONS = " --sysroot=${STAGING_DIR_TCBOOTSTRAP}" 9TOOLCHAIN_OPTIONS = " --sysroot=${STAGING_DIR_TCBOOTSTRAP}"
@@ -22,7 +22,7 @@ siteconfig_do_siteconfig_gencache_prepend = " \
22" 22"
23 23
24# nptl needs unwind support in gcc, which can't be built without glibc. 24# nptl needs unwind support in gcc, which can't be built without glibc.
25DEPENDS = "virtual/${TARGET_PREFIX}gcc-intermediate linux-libc-headers" 25DEPENDS = "virtual/${TARGET_PREFIX}gcc-initial linux-libc-headers virtual/${TARGET_PREFIX}libc-initial"
26# nptl needs libgcc but dlopens it, so our shlibs code doesn't detect this 26# nptl needs libgcc but dlopens it, so our shlibs code doesn't detect this
27#RDEPENDS_${PN} += "${@['','libgcc']['nptl' in '${GLIBC_ADDONS}']}" 27#RDEPENDS_${PN} += "${@['','libgcc']['nptl' in '${GLIBC_ADDONS}']}"
28PROVIDES = "virtual/libc virtual/${TARGET_PREFIX}libc-for-gcc" 28PROVIDES = "virtual/libc virtual/${TARGET_PREFIX}libc-for-gcc"
@@ -33,7 +33,10 @@ require eglibc-options.inc
33LEAD_SONAME = "libc.so" 33LEAD_SONAME = "libc.so"
34 34
35CACHED_CONFIGUREVARS += "ac_cv_path_KSH=${base_bindir}/bash \ 35CACHED_CONFIGUREVARS += "ac_cv_path_KSH=${base_bindir}/bash \
36 ac_cv_path_BASH_SHELL=${base_bindir}/bash" 36 ac_cv_path_BASH_SHELL=${base_bindir}/bash \
37 libc_cv_ssp=no \
38 "
39
37GLIBC_EXTRA_OECONF ?= "" 40GLIBC_EXTRA_OECONF ?= ""
38GLIBC_EXTRA_OECONF_virtclass-nativesdk = "" 41GLIBC_EXTRA_OECONF_virtclass-nativesdk = ""
39INHIBIT_DEFAULT_DEPS = "1" 42INHIBIT_DEFAULT_DEPS = "1"