* [PATCH] toolchain-scripts/meta-environment: Merge toolchain_create_sdk_env_script and the for_installer variant
@ 2013-11-05 22:09 Richard Purdie
0 siblings, 0 replies; only message in thread
From: Richard Purdie @ 2013-11-05 22:09 UTC (permalink / raw)
To: openembedded-core
Having two scripts which do basically the same thing is a nightmare. This merges
them together. It also makes the sysroot location a variable in its own right
which may be more useful for end users wanting to change sysroot.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
---
diff --git a/meta/classes/toolchain-scripts.bbclass b/meta/classes/toolchain-scripts.bbclass
index 614f1c0..db0ae17 100644
--- a/meta/classes/toolchain-scripts.bbclass
+++ b/meta/classes/toolchain-scripts.bbclass
@@ -7,18 +7,23 @@ REAL_MULTIMACH_TARGET_SYS ?= "${MULTIMACH_TARGET_SYS}"
# This function creates an environment-setup-script for use in a deployable SDK
toolchain_create_sdk_env_script () {
# Create environment setup script
- script=${1:-${SDK_OUTPUT}/${SDKPATH}/environment-setup-${REAL_MULTIMACH_TARGET_SYS}}
+ includedir=${5:-${includedir}}
+ libdir=${4:-${libdir}}
+ sysroot=${3:-${SDKTARGETSYSROOT}}
+ multimach_target_sys=${2:-${REAL_MULTIMACH_TARGET_SYS}}
+ script=${1:-${SDK_OUTPUT}/${SDKPATH}/environment-setup-$multimach_target_sys}
rm -f $script
touch $script
+ echo 'export SDKTARGETSYSROOT='"$sysroot" >> $script
echo 'export PATH=${SDKPATHNATIVE}${bindir_nativesdk}:${SDKPATHNATIVE}${bindir_nativesdk}/${TARGET_SYS}:$PATH' >> $script
- echo 'export PKG_CONFIG_SYSROOT_DIR=${SDKTARGETSYSROOT}' >> $script
- echo 'export PKG_CONFIG_PATH=${SDKTARGETSYSROOT}${libdir}/pkgconfig' >> $script
- echo 'export CONFIG_SITE=${SDKPATH}/site-config-${REAL_MULTIMACH_TARGET_SYS}' >> $script
- echo 'export CC="${TARGET_PREFIX}gcc ${TARGET_CC_ARCH} --sysroot=${SDKTARGETSYSROOT}"' >> $script
- echo 'export CXX="${TARGET_PREFIX}g++ ${TARGET_CC_ARCH} --sysroot=${SDKTARGETSYSROOT}"' >> $script
- echo 'export CPP="${TARGET_PREFIX}gcc -E ${TARGET_CC_ARCH} --sysroot=${SDKTARGETSYSROOT}"' >> $script
+ echo 'export PKG_CONFIG_SYSROOT_DIR=$SDKTARGETSYSROOT' >> $script
+ echo 'export PKG_CONFIG_PATH=$SDKTARGETSYSROOT'"$libdir"'/pkgconfig' >> $script
+ echo 'export CONFIG_SITE=${SDKPATH}/site-config-'"${multimach_target_sys}" >> $script
+ echo 'export CC="${TARGET_PREFIX}gcc ${TARGET_CC_ARCH} --sysroot=$SDKTARGETSYSROOT"' >> $script
+ echo 'export CXX="${TARGET_PREFIX}g++ ${TARGET_CC_ARCH} --sysroot=$SDKTARGETSYSROOT"' >> $script
+ echo 'export CPP="${TARGET_PREFIX}gcc -E ${TARGET_CC_ARCH} --sysroot=$SDKTARGETSYSROOT"' >> $script
echo 'export AS="${TARGET_PREFIX}as ${TARGET_AS_ARCH}"' >> $script
- echo 'export LD="${TARGET_PREFIX}ld ${TARGET_LD_ARCH} --sysroot=${SDKTARGETSYSROOT}"' >> $script
+ echo 'export LD="${TARGET_PREFIX}ld ${TARGET_LD_ARCH} --sysroot=$SDKTARGETSYSROOT"' >> $script
echo 'export GDB=${TARGET_PREFIX}gdb' >> $script
echo 'export STRIP=${TARGET_PREFIX}strip' >> $script
echo 'export RANLIB=${TARGET_PREFIX}ranlib' >> $script
@@ -28,12 +33,12 @@ toolchain_create_sdk_env_script () {
echo 'export NM=${TARGET_PREFIX}nm' >> $script
echo 'export M4=m4' >> $script
echo 'export TARGET_PREFIX=${TARGET_PREFIX}' >> $script
- echo 'export CONFIGURE_FLAGS="--target=${TARGET_SYS} --host=${TARGET_SYS} --build=${SDK_ARCH}-linux --with-libtool-sysroot=${SDKTARGETSYSROOT}"' >> $script
+ echo 'export CONFIGURE_FLAGS="--target=${TARGET_SYS} --host=${TARGET_SYS} --build=${SDK_ARCH}-linux --with-libtool-sysroot=$SDKTARGETSYSROOT"' >> $script
if [ "${TARGET_OS}" = "darwin8" ]; then
- echo 'export TARGET_CFLAGS="-I${SDKTARGETSYSROOT}${includedir}"' >> $script
- echo 'export TARGET_LDFLAGS="-L${SDKTARGETSYSROOT}${libdir}"' >> $script
+ echo 'export TARGET_CFLAGS="-I$SDKTARGETSYSROOT'"$includedir"'"' >> $script
+ echo 'export TARGET_LDFLAGS="-L$SDKTARGETSYSROOT'"$libdir"'"' >> $script
# Workaround darwin toolchain sysroot path problems
- cd ${SDK_OUTPUT}${SDKTARGETSYSROOT}/usr
+ cd ${SDK_OUTPUT}$SDKTARGETSYSROOT/usr
ln -s /usr/local local
fi
echo 'export CFLAGS="${TARGET_CFLAGS}"' >> $script
@@ -41,7 +46,7 @@ toolchain_create_sdk_env_script () {
echo 'export LDFLAGS="${TARGET_LDFLAGS}"' >> $script
echo 'export CPPFLAGS="${TARGET_CPPFLAGS}"' >> $script
echo 'export OECORE_NATIVE_SYSROOT="${SDKPATHNATIVE}"' >> $script
- echo 'export OECORE_TARGET_SYSROOT="${SDKTARGETSYSROOT}"' >> $script
+ echo 'export OECORE_TARGET_SYSROOT="$SDKTARGETSYSROOT"' >> $script
echo 'export OECORE_ACLOCAL_OPTS="-I ${SDKPATHNATIVE}/usr/share/aclocal"' >> $script
echo 'export OECORE_DISTRO_VERSION="${DISTRO_VERSION}"' >> $script
echo 'export OECORE_SDK_VERSION="${SDK_VERSION}"' >> $script
@@ -96,52 +101,6 @@ toolchain_create_tree_env_script () {
echo 'export CROSS_COMPILE=${TARGET_PREFIX}' >> $script
}
-# This function creates an environment-setup-script for use by the ADT installer
-toolchain_create_sdk_env_script_for_installer () {
- # Create environment setup script
- local multimach_target_sys=$1
- script=${SDK_OUTPUT}/${SDKPATH}/environment-setup-${multimach_target_sys}
- rm -f $script
- touch $script
- echo 'export PATH=${SDKPATHNATIVE}${bindir_nativesdk}:${SDKPATHNATIVE}${bindir_nativesdk}/${TARGET_SYS}:$PATH' >> $script
- echo 'export PKG_CONFIG_SYSROOT_DIR=##SDKTARGETSYSROOT##' >> $script
- echo 'export PKG_CONFIG_PATH=##SDKTARGETSYSROOT##${target_libdir}/pkgconfig' >> $script
- echo 'export CONFIG_SITE=${SDKPATH}/site-config-'"${multimach_target_sys}" >> $script
- echo 'export CC="${TARGET_PREFIX}gcc ${TARGET_CC_ARCH} --sysroot=##SDKTARGETSYSROOT##"' >> $script
- echo 'export CXX="${TARGET_PREFIX}g++ ${TARGET_CC_ARCH} --sysroot=##SDKTARGETSYSROOT##"' >> $script
- echo 'export CPP="${TARGET_PREFIX}gcc -E ${TARGET_CC_ARCH} --sysroot=##SDKTARGETSYSROOT##"' >> $script
- echo 'export AS="${TARGET_PREFIX}as ${TARGET_AS_ARCH}"' >> $script
- echo 'export LD="${TARGET_PREFIX}ld ${TARGET_LD_ARCH} --sysroot=##SDKTARGETSYSROOT##"' >> $script
- echo 'export GDB=${TARGET_PREFIX}gdb' >> $script
- echo 'export STRIP=${TARGET_PREFIX}strip' >> $script
- echo 'export RANLIB=${TARGET_PREFIX}ranlib' >> $script
- echo 'export OBJCOPY=${TARGET_PREFIX}objcopy' >> $script
- echo 'export OBJDUMP=${TARGET_PREFIX}objdump' >> $script
- echo 'export AR=${TARGET_PREFIX}ar' >> $script
- echo 'export NM=${TARGET_PREFIX}nm' >> $script
- echo 'export TARGET_PREFIX=${TARGET_PREFIX}' >> $script
- echo 'export CONFIGURE_FLAGS="--target=${TARGET_SYS} --host=${TARGET_SYS} --build=${SDK_ARCH}-linux --with-libtool-sysroot=##SDKTARGETSYSROOT##"' >> $script
- if [ "${TARGET_OS}" = "darwin8" ]; then
- echo 'export TARGET_CFLAGS="-I##SDKTARGETSYSROOT##${target_includedir}"' >> $script
- echo 'export TARGET_LDFLAGS="-L##SDKTARGETSYSROOT##{target_libdir}"' >> $script
- # Workaround darwin toolchain sysroot path problems
- cd ${SDK_OUTPUT}${SDKTARGETSYSROOT}/usr
- ln -s /usr/local local
- fi
- echo 'export CFLAGS="${TARGET_CFLAGS}"' >> $script
- echo 'export CXXFLAGS="${TARGET_CXXFLAGS}"' >> $script
- echo 'export LDFLAGS="${TARGET_LDFLAGS}"' >> $script
- echo 'export CPPFLAGS="${TARGET_CPPFLAGS}"' >> $script
- echo 'export OECORE_NATIVE_SYSROOT="${SDKPATHNATIVE}"' >> $script
- echo 'export OECORE_TARGET_SYSROOT="##SDKTARGETSYSROOT##"' >> $script
- echo 'export OECORE_ACLOCAL_OPTS="-I ${SDKPATHNATIVE}/usr/share/aclocal"' >> $script
- echo 'export OECORE_DISTRO_VERSION="${DISTRO_VERSION}"' >> $script
- echo 'export OECORE_SDK_VERSION="${SDK_VERSION}"' >> $script
- echo 'export PYTHONHOME=${SDKPATHNATIVE}${prefix_nativesdk}' >> $script
- echo 'export ARCH=${ARCH}' >> $script
- echo 'export CROSS_COMPILE=${TARGET_PREFIX}' >> $script
-}
-
#we get the cached site config in the runtime
TOOLCHAIN_CONFIGSITE_NOCACHE = "${@siteinfo_get_files(d, True)}"
TOOLCHAIN_CONFIGSITE_SYSROOTCACHE = "${STAGING_DATADIR}/${TARGET_SYS}_config_site.d"
diff --git a/meta/recipes-core/meta/meta-environment.bb b/meta/recipes-core/meta/meta-environment.bb
index 3a71a9b..c7be404 100644
--- a/meta/recipes-core/meta/meta-environment.bb
+++ b/meta/recipes-core/meta/meta-environment.bb
@@ -24,7 +24,7 @@ do_generate_content() {
toolchain_create_sdk_siteconfig ${SDK_OUTPUT}/${SDKPATH}/site-config-${REAL_MULTIMACH_TARGET_SYS}
- toolchain_create_sdk_env_script_for_installer ${REAL_MULTIMACH_TARGET_SYS}
+ toolchain_create_sdk_env_script ${SDK_OUTPUT}/${SDKPATH}/environment-setup-${REAL_MULTIMACH_TARGET_SYS} ${REAL_MULTIMACH_TARGET_SYS} '##SDKTARGETSYSROOT##' ${target_libdir} ${target_includedir}
# Add version information
toolchain_create_sdk_version ${SDK_OUTPUT}/${SDKPATH}/version-${REAL_MULTIMACH_TARGET_SYS}
^ permalink raw reply related [flat|nested] only message in thread
only message in thread, other threads:[~2013-11-05 22:10 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-11-05 22:09 [PATCH] toolchain-scripts/meta-environment: Merge toolchain_create_sdk_env_script and the for_installer variant Richard Purdie
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.