]> code.ossystems Code Review - openembedded-core.git/commitdiff
Install cross-packages into the native sysroot
authorJoshua Lock <josh@linux.intel.com>
Thu, 22 Apr 2010 14:20:05 +0000 (15:20 +0100)
committerJoshua Lock <josh@linux.intel.com>
Tue, 27 Apr 2010 17:29:57 +0000 (18:29 +0100)
Cross is no longer required so can go away, we now install cross packages into
the native sysroot and use them from there.

This patch includes updates to classes and some recipes which reference
CROSS_DIR. Others still need fixing an image can be built and run with this
patch applied.

Signed-off-by: Joshua Lock <josh@linux.intel.com>
meta/classes/cross.bbclass
meta/classes/glibc-package.bbclass
meta/classes/icecc.bbclass
meta/classes/nativesdk.bbclass
meta/classes/packaged-staging.bbclass
meta/conf/bitbake.conf
meta/packages/gcc/gcc-configure-runtime.inc
meta/packages/gcc/gcc-cross-initial_4.3.3.bb
meta/packages/gcc/gcc-cross-intermediate_4.3.3.bb
meta/packages/gcc/gcc-package-cross.inc

index d5f63007771411c73175343f90528db041c08f36..487ec60f7f011d87c638d3e7e7b5475447dc9997 100644 (file)
@@ -40,9 +40,9 @@ target_base_libdir := "${base_libdir}"
 target_prefix := "${prefix}"
 
 # Overrides for paths
-prefix = "${CROSS_DIR}"
-base_prefix = "${prefix}"
-exec_prefix = "${prefix}"
+prefix = "${STAGING_DIR_NATIVE}${prefix_native}"
+base_prefix = "${STAGING_DIR_NATIVE}"
+exec_prefix = "${STAGING_DIR_NATIVE}${prefix_native}"
 base_sbindir = "${base_prefix}/bin"
 sbindir = "${exec_prefix}/bin"
 
index cef888c54e41a6a58baf3a132fa2087a52061f79..56bf8ba40a0e2bc281280ededfb72cc36fe7ad2b 100644 (file)
@@ -96,8 +96,8 @@ do_prep_locale_tree() {
                gunzip $i
        done
        cp -pPR ${PKGD}${base_libdir}/* $treedir/lib
-       if [ -f ${CROSS_DIR}/${TARGET_SYS}/lib/libgcc_s.* ]; then
-               cp -pPR ${CROSS_DIR}/${TARGET_SYS}/lib/libgcc_s.* $treedir/lib
+       if [ -f ${STAGING_DIR_NATIVE}${prefix_native}/lib/libgcc_s.* ]; then
+               cp -pPR ${STAGING_DIR_NATIVE}/${prefix_native}/lib/libgcc_s.* $treedir/lib
        fi
        install -m 0755 ${PKGD}${bindir}/localedef $treedir/bin
 }
index be37318d9163f1d037b8cfcc8688866827bdaeb3..715f87077331a36d1ee8d0049f451183e3fb5011 100644 (file)
@@ -46,8 +46,8 @@ def create_cross_env(bb,d):
         return ""
 
     import tarfile, socket, time
-    ice_dir = bb.data.expand('${CROSS_DIR}', d)
     prefix  = bb.data.expand('${HOST_PREFIX}' , d)
+    ice_dir = bb.data.expand("${STAGING_DIR_NATIVE}${prefix_native}")
     distro  = bb.data.expand('${DISTRO}', d)
     target_sys = bb.data.expand('${TARGET_SYS}',  d)
     target_prefix = bb.data.expand('${TARGET_PREFIX}',  d)
@@ -93,7 +93,7 @@ def create_cross_env(bb,d):
 
 def create_native_env(bb,d):
     import tarfile, socket, time
-    ice_dir = bb.data.expand('${CROSS_DIR}', d)
+    ice_dir = bb.data.expand("${STAGING_DIR_NATIVE}${prefix_native}")
     prefix  = bb.data.expand('${HOST_PREFIX}' , d)
     distro  = bb.data.expand('${DISTRO}', d)
     target_sys = bb.data.expand('${TARGET_SYS}',  d)
@@ -131,7 +131,7 @@ def create_native_env(bb,d):
 
 def create_cross_kernel_env(bb,d):
     import tarfile, socket, time
-    ice_dir = bb.data.expand('${CROSS_DIR}', d)
+    ice_dir = bb.data.expand("${STAGING_DIR_NATIVE}${prefix_native}")
     prefix  = bb.data.expand('${HOST_PREFIX}' , d)
     distro  = bb.data.expand('${DISTRO}', d)
     target_sys = bb.data.expand('${TARGET_SYS}',  d)
index 95ffc064af83762be73982766cc2ad197f9823a1..2c897c6076ace822f4c1737ed7c9d47008836ca7 100644 (file)
@@ -18,8 +18,6 @@ python () {
 #STAGING_DIR_HOST = "${STAGING_DIR}/${HOST_SYS}-nativesdk"
 #STAGING_DIR_TARGET = "${STAGING_DIR}/${BASEPKG_TARGET_SYS}-nativesdk"
 
-CROSS_DIR = "${TMPDIR}/cross/${HOST_ARCH}"
-
 HOST_ARCH = "${SDK_ARCH}"
 HOST_VENDOR = "${SDK_VENDOR}"
 HOST_OS = "${SDK_OS}"
index a04c956c801432892643cae61787d3bfe90d468d..cda16d1cc56aa94cac5176045c93b1c6bbb20418 100644 (file)
@@ -128,7 +128,6 @@ def pstage_cleanpackage(pkgname, d):
        else:
                bb.note("No. Manually removing any installed files")
                pstage_manualclean("sysroots", "STAGING_DIR", d)
-               pstage_manualclean("cross", "CROSS_DIR", d)
                pstage_manualclean("deploy", "DEPLOY_DIR", d)
 
        bb.utils.unlockfile(lf)
@@ -297,7 +296,6 @@ python packagedstage_stampfixing_eventhandler() {
 populate_sysroot_preamble () {
        if [ "$PSTAGING_ACTIVE" = "1" ]; then
                stage-manager -p ${STAGING_DIR} -c ${PSTAGE_WORKDIR}/stamp-cache-staging -u || true
-               stage-manager -p ${CROSS_DIR} -c ${PSTAGE_WORKDIR}/stamp-cache-cross -u || true
        fi
 }
 
@@ -313,7 +311,6 @@ populate_sysroot_postamble () {
                if [ "$exitcode" != "5" -a "$exitcode" != "0" ]; then
                        exit $exitcode
                fi
-               stage-manager -p ${CROSS_DIR} -c ${PSTAGE_WORKDIR}/stamp-cache-cross -u -d ${PSTAGE_TMPDIR_STAGE}/cross/${BASE_PACKAGE_ARCH}
                if [ "$exitcode" != "5" -a "$exitcode" != "0" ]; then
                        exit $exitcode
                fi
@@ -324,9 +321,7 @@ populate_sysroot_postamble () {
 packagedstaging_fastpath () {
        if [ "$PSTAGING_ACTIVE" = "1" ]; then
                mkdir -p ${PSTAGE_TMPDIR_STAGE}/sysroots/
-               mkdir -p ${PSTAGE_TMPDIR_STAGE}/cross/${BASE_PACKAGE_ARCH}/
                cp -fpPR ${SYSROOT_DESTDIR}/${STAGING_DIR}/* ${PSTAGE_TMPDIR_STAGE}/sysroots/ || /bin/true
-               cp -fpPR ${SYSROOT_DESTDIR}/${CROSS_DIR}/* ${PSTAGE_TMPDIR_STAGE}/cross/${BASE_PACKAGE_ARCH}/ || /bin/true
        fi
 }
 
index ee652e79e1e2d0b51319635267d8bc3d2ec32557..528eef97fffb2c0a272ca86852195cd511a8d7b9 100644 (file)
@@ -355,9 +355,7 @@ EXTRA_IMAGEDEPENDS = ""
 # Toolchain info.
 ##################################################################
 
-CROSS_DIR = "${TMPDIR}/cross/${BASE_PACKAGE_ARCH}"
-CROSS_DATADIR = "${CROSS_DIR}/share"
-PATH_prepend = "${STAGING_BINDIR_CROSS}:${STAGING_DIR_NATIVE}${sbindir_native}:${STAGING_BINDIR_NATIVE}:${CROSS_DIR}/${bindir_cross}:${STAGING_DIR_NATIVE}${base_sbindir_native}:${STAGING_DIR_NATIVE}/${base_bindir_native}:"
+PATH_prepend = "${STAGING_BINDIR_CROSS}:${STAGING_DIR_NATIVE}${sbindir_native}:${STAGING_BINDIR_NATIVE}:${STAGING_DIR_NATIVE}${base_sbindir_native}:${STAGING_DIR_NATIVE}/${base_bindir_native}:"
 export PATH
 
 ##################################################################
index e20c72fa05bab9af4b99899797b84ea181819bd2..175e08ad1422592e8708ca5ad823eece2b1cf278 100644 (file)
@@ -11,7 +11,7 @@ RUNTIMETARGET = "libgcc libssp libstdc++-v3"
 # libgfortran
 
 do_configure () {
-       cp ${CROSS_DIR}/include/gcc-build-internal/* ${S}/gcc
+       cp ${STAGING_DIR_NATIVE}${prefix_native}/include/gcc-build-internal/* ${S}/gcc
        for d in ${RUNTIMETARGET}; do
                echo "Configuring $d"
                mkdir -p ${B}/$d/
index 8a429d54fe67bc8bf19f1fcc4385cc7c6124fb32..2aae639fbc347fb4609eb773af4a74606b56a0a0 100644 (file)
@@ -5,6 +5,6 @@ PR = "r1"
 
 # Hack till we fix *libc properly
 do_install_append() {
-        ln -sf ${CROSS_DIR}/lib/gcc/${TARGET_SYS}/${BINV}/include-fixed/* ${D}${CROSS_DIR}/lib/gcc/${TARGET_SYS}/${BINV}/include/
+        ln -sf ${STAGING_DIR_NATIVE}${prefix_native}/lib/gcc/${TARGET_SYS}/${BINV}/include-fixed/* ${D}${STAGING_DIR_NATIVE}${prefix_native}/lib/gcc/${TARGET_SYS}/${BINV}/include/
 }
 
index 6de46f7e279a37910f60bba9976ed1a1d5ac6194..eda678ef2fc422963ad0afac52e39040db446f11 100644 (file)
@@ -4,6 +4,6 @@ PR = "r1"
 
 # Hack till we fix *libc properly
 do_install_append() {
-        ln -sf ${CROSS_DIR}/lib/gcc/${TARGET_SYS}/${BINV}/include-fixed/* ${D}${CROSS_DIR}/lib/gcc/${TARGET_SYS}/${BINV}/include/
+        ln -sf ${STAGING_DIR_NATIVE}${prefix_native}/lib/gcc/${TARGET_SYS}/${BINV}/include-fixed/* ${D}${STAGING_DIR_NATIVE}${prefix_native}/lib/gcc/${TARGET_SYS}/${BINV}/include/
 }
 
index 396631edd66f05e6e524c6ddf915d63de1124a01..04ae78a88bf5f1b5ab2b92cc14a2448a5398d1c9 100644 (file)
@@ -8,8 +8,8 @@ do_install () {
     
        # Link gfortran to g77 to satisfy not-so-smart configure or hard coded g77
        # gfortran is fully backwards compatible. This is a safe and practical solution. 
-       ln -sf ${CROSS_DIR}/bin/${TARGET_PREFIX}gfortran ${CROSS_DIR}/bin/${TARGET_PREFIX}g77 || true
-       ln -sf ${CROSS_DIR}/${TARGET_SYS}/bin/gfortran ${CROSS_DIR}/${TARGET_SYS}/bin/g77 || true
+       ln -sf ${STAGING_DIR_NATIVE}${prefix_native}/bin/${TARGET_PREFIX}gfortran ${STAGING_DIR_NATIVE}${prefix_native}/bin/${TARGET_PREFIX}g77 || true
+       ln -sf ${STAGING_DIR_NATIVE}${prefix_native}/${TARGET_SYS}/bin/gfortran ${STAGING_DIR_NATIVE}/${prefix_native}/${TARGET_SYS}/bin/g77 || true
 
        # Remove things we don't need but keep share/java
        for d in info man share/doc share/locale share/man share/info; do