From c22ab5fc9fd0f18153e73f941f050539d415ff56 Mon Sep 17 00:00:00 2001 From: Joshua Lock Date: Thu, 22 Apr 2010 15:20:05 +0100 Subject: Install cross-packages into the native sysroot 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 --- meta/classes/cross.bbclass | 6 +++--- meta/classes/glibc-package.bbclass | 4 ++-- meta/classes/icecc.bbclass | 6 +++--- meta/classes/nativesdk.bbclass | 2 -- meta/classes/packaged-staging.bbclass | 5 ----- meta/conf/bitbake.conf | 4 +--- meta/packages/gcc/gcc-configure-runtime.inc | 2 +- meta/packages/gcc/gcc-cross-initial_4.3.3.bb | 2 +- meta/packages/gcc/gcc-cross-intermediate_4.3.3.bb | 2 +- meta/packages/gcc/gcc-package-cross.inc | 4 ++-- 10 files changed, 14 insertions(+), 23 deletions(-) diff --git a/meta/classes/cross.bbclass b/meta/classes/cross.bbclass index d5f630077..487ec60f7 100644 --- a/meta/classes/cross.bbclass +++ b/meta/classes/cross.bbclass @@ -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" diff --git a/meta/classes/glibc-package.bbclass b/meta/classes/glibc-package.bbclass index cef888c54..56bf8ba40 100644 --- a/meta/classes/glibc-package.bbclass +++ b/meta/classes/glibc-package.bbclass @@ -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 } diff --git a/meta/classes/icecc.bbclass b/meta/classes/icecc.bbclass index be37318d9..715f87077 100644 --- a/meta/classes/icecc.bbclass +++ b/meta/classes/icecc.bbclass @@ -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) diff --git a/meta/classes/nativesdk.bbclass b/meta/classes/nativesdk.bbclass index 95ffc064a..2c897c607 100644 --- a/meta/classes/nativesdk.bbclass +++ b/meta/classes/nativesdk.bbclass @@ -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}" diff --git a/meta/classes/packaged-staging.bbclass b/meta/classes/packaged-staging.bbclass index a04c956c8..cda16d1cc 100644 --- a/meta/classes/packaged-staging.bbclass +++ b/meta/classes/packaged-staging.bbclass @@ -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 } diff --git a/meta/conf/bitbake.conf b/meta/conf/bitbake.conf index ee652e79e..528eef97f 100644 --- a/meta/conf/bitbake.conf +++ b/meta/conf/bitbake.conf @@ -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 ################################################################## diff --git a/meta/packages/gcc/gcc-configure-runtime.inc b/meta/packages/gcc/gcc-configure-runtime.inc index e20c72fa0..175e08ad1 100644 --- a/meta/packages/gcc/gcc-configure-runtime.inc +++ b/meta/packages/gcc/gcc-configure-runtime.inc @@ -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/ diff --git a/meta/packages/gcc/gcc-cross-initial_4.3.3.bb b/meta/packages/gcc/gcc-cross-initial_4.3.3.bb index 8a429d54f..2aae639fb 100644 --- a/meta/packages/gcc/gcc-cross-initial_4.3.3.bb +++ b/meta/packages/gcc/gcc-cross-initial_4.3.3.bb @@ -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/ } diff --git a/meta/packages/gcc/gcc-cross-intermediate_4.3.3.bb b/meta/packages/gcc/gcc-cross-intermediate_4.3.3.bb index 6de46f7e2..eda678ef2 100644 --- a/meta/packages/gcc/gcc-cross-intermediate_4.3.3.bb +++ b/meta/packages/gcc/gcc-cross-intermediate_4.3.3.bb @@ -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/ } diff --git a/meta/packages/gcc/gcc-package-cross.inc b/meta/packages/gcc/gcc-package-cross.inc index 396631edd..04ae78a88 100644 --- a/meta/packages/gcc/gcc-package-cross.inc +++ b/meta/packages/gcc/gcc-package-cross.inc @@ -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 -- cgit v1.2.3