From: Joshua Lock Date: Thu, 22 Apr 2010 14:20:05 +0000 (+0100) Subject: Install cross-packages into the native sysroot X-Git-Tag: lucaceresoli/bug-15201-perf-libtraceevent-missing~50172 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=c22ab5fc9fd0f18153e73f941f050539d415ff56;p=thirdparty%2Fopenembedded%2Fopenembedded-core-contrib.git 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 --- diff --git a/meta/classes/cross.bbclass b/meta/classes/cross.bbclass index d5f63007771..487ec60f7f0 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 cef888c54e4..56bf8ba40a0 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 be37318d916..715f8707733 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 95ffc064af8..2c897c6076a 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 a04c956c801..cda16d1cc56 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 ee652e79e1e..528eef97fff 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 e20c72fa05b..175e08ad142 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 8a429d54fe6..2aae639fbc3 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 6de46f7e279..eda678ef2fc 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 396631edd66..04ae78a88bf 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