[oe] [PATCH 1/4] classes, bitbake.conf: Remove CROSS_DIR, install cross-packages into native sysroot

Tom Rini tom_rini at mentor.com
Wed Jul 21 21:52:32 UTC 2010


Khem Raj wrote:
> * Update references to CROSS_DIR in classes and bitbake.conf.
> * This patch is based on Joshua Lock's work in poky.
> 
> Signed-off-by: Khem Raj <raj.khem at gmail.com>

Acked-by: Tom Rini <tom_rini at mentor.com>

> ---
>  classes/cmake.bbclass            |    2 +-
>  classes/cross.bbclass            |    8 ++++----
>  classes/glibc-package.bbclass    |    8 ++++----
>  classes/icecc.bbclass            |    6 +++---
>  classes/nativesdk.bbclass        |    2 --
>  classes/packaged-staging.bbclass |    5 -----
>  conf/bitbake.conf                |    7 ++-----
>  7 files changed, 14 insertions(+), 24 deletions(-)
> 
> diff --git a/classes/cmake.bbclass b/classes/cmake.bbclass
> index 2047b58..2376012 100644
> --- a/classes/cmake.bbclass
> +++ b/classes/cmake.bbclass
> @@ -37,7 +37,7 @@ cmake_do_generate_toolchain_file() {
>  
>  # only search in the paths provided (from openembedded) so cmake doesnt pick
>  # up libraries and tools from the native build machine
> -  echo "set( CMAKE_FIND_ROOT_PATH ${STAGING_DIR_HOST} ${STAGING_DIR_NATIVE} ${CROSS_DIR} )" >> ${WORKDIR}/toolchain.cmake
> +  echo "set( CMAKE_FIND_ROOT_PATH ${STAGING_DIR_HOST} ${STAGING_DIR_NATIVE} ${STAGING_DIR_NATIVE}${prefix_native} )" >> ${WORKDIR}/toolchain.cmake
>    echo "set( CMAKE_FIND_ROOT_PATH_MODE_PROGRAM ONLY )" >> ${WORKDIR}/toolchain.cmake
>    echo "set( CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY )" >> ${WORKDIR}/toolchain.cmake
>    echo "set( CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY )" >> ${WORKDIR}/toolchain.cmake
> diff --git a/classes/cross.bbclass b/classes/cross.bbclass
> index 4cf2b4c..75b2abe 100644
> --- a/classes/cross.bbclass
> +++ b/classes/cross.bbclass
> @@ -1,5 +1,5 @@
>  # Disabled for now since the relocation paths are too long
> -#inherit relocatable
> +inherit relocatable
>  
>  # Cross packages are built indirectly via dependency,
>  # no need for them to be a direct target of 'world'
> @@ -44,9 +44,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/classes/glibc-package.bbclass b/classes/glibc-package.bbclass
> index d47c914..36424d5 100644
> --- a/classes/glibc-package.bbclass
> +++ b/classes/glibc-package.bbclass
> @@ -104,11 +104,11 @@ do_prep_locale_tree() {
>  		gunzip $i
>  	done
>  	ls -d ${PKGD}${base_libdir}/* | xargs -iBLAH cp -pPR BLAH $treedir/lib
> -	if [ -f ${CROSS_DIR}/${TARGET_SYS}/lib/libgcc_s.so ]; then
> -		cp -pPR ${CROSS_DIR}/${TARGET_SYS}/lib/libgcc_s.so $treedir/lib
> +	if [ -f ${STAGING_DIR_NATIVE}${prefix_native}/lib/libgcc_s.so ]; then
> +		cp -pPR ${STAGING_DIR_NATIVE}${prefix_native}/lib/libgcc_s.so $treedir/lib
>  	fi
> -	if [ -f ${CROSS_DIR}/${TARGET_SYS}/lib/libgcc_s.so.* ]; then
> -		cp -pPR ${CROSS_DIR}/${TARGET_SYS}/lib/libgcc_s.so.* $treedir/lib
> +	if [ -f ${STAGING_DIR_NATIVE}${prefix_native}/lib/libgcc_s.so.* ]; then
> +		cp -pPR ${STAGING_DIR_NATIVE}${prefix_native}/lib/libgcc_s.so.* $treedir/lib
>  	fi
>  	install -m 0755 ${PKGD}${bindir}/localedef $treedir/bin
>  }
> diff --git a/classes/icecc.bbclass b/classes/icecc.bbclass
> index 36cc231..938f199 100644
> --- a/classes/icecc.bbclass
> +++ b/classes/icecc.bbclass
> @@ -46,7 +46,7 @@ def create_cross_env(bb,d):
>          return ""
>  
>      import tarfile, socket, time
> -    ice_dir = bb.data.expand('${CROSS_DIR}', d)
> +    ice_dir = bb.data.expand('${STAGING_DIR_NATIVE}${prefix_native}', d)
>      staging_dir = bb.data.expand('${STAGING_DIR_TARGET}', d)
>      prefix  = bb.data.expand('${HOST_PREFIX}' , d)
>      distro  = bb.data.expand('${DISTRO}', d)
> @@ -96,7 +96,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}', d)
>      prefix  = bb.data.expand('${HOST_PREFIX}' , d)
>      distro  = bb.data.expand('${DISTRO}', d)
>      target_sys = bb.data.expand('${TARGET_SYS}',  d)
> @@ -143,7 +143,7 @@ def get_cross_kernel_cc(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}', d)
>      prefix  = bb.data.expand('${HOST_PREFIX}' , d)
>      distro  = bb.data.expand('${DISTRO}', d)
>      target_sys = bb.data.expand('${TARGET_SYS}',  d)
> diff --git a/classes/nativesdk.bbclass b/classes/nativesdk.bbclass
> index 75f5790..ddaab85 100644
> --- a/classes/nativesdk.bbclass
> +++ b/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/classes/packaged-staging.bbclass b/classes/packaged-staging.bbclass
> index 670fd1c..fda1431 100644
> --- a/classes/packaged-staging.bbclass
> +++ b/classes/packaged-staging.bbclass
> @@ -130,7 +130,6 @@ def pstage_cleanpackage(pkgname, d):
>  	else:
>  		bb.debug(1, "Manually removing any installed files from staging...")
>  		pstage_manualclean("sysroots", "STAGING_DIR", d)
> -		pstage_manualclean("cross", "CROSS_DIR", d)
>  		pstage_manualclean("deploy", "DEPLOY_DIR", d)
>  
>  	bb.utils.unlockfile(lf)
> @@ -307,7 +306,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
>  }
>  
> @@ -323,7 +321,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
> @@ -334,9 +331,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/conf/bitbake.conf b/conf/bitbake.conf
> index 69d00e2..748abba 100644
> --- a/conf/bitbake.conf
> +++ b/conf/bitbake.conf
> @@ -410,10 +410,7 @@ EXTRA_IMAGEDEPENDS = ""
>  ##################################################################
>  # Toolchain info.
>  ##################################################################
> -
> -CROSS_DIR = "${TMPDIR}/cross/${BASE_PACKAGE_ARCH}"
> -CROSS_DATADIR = "${CROSS_DIR}/share"
> -PATH_prepend = "${STAGING_BINDIR_CROSS}:${STAGING_BINDIR_CROSS_BASEPKG}:${STAGING_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
>  
>  ##################################################################
> @@ -422,7 +419,7 @@ export PATH
>  
>  CCACHE ?= ""
>  TOOLCHAIN_OPTIONS = ""
> -TOOLCHAIN_PATH ?= "${CROSS_DIR}"
> +TOOLCHAIN_PATH ?= "${STAGING_DIR_NATIVE}${prefix_native}"
>  TOOLCHAIN_SYSPATH ?= "${TOOLCHAIN_PATH}/${TARGET_SYS}"
>  
>  export CC = "${CCACHE}${HOST_PREFIX}gcc ${HOST_CC_ARCH}${TOOLCHAIN_OPTIONS}"


-- 
Tom Rini
Mentor Graphics Corporation




More information about the Openembedded-devel mailing list