summaryrefslogtreecommitdiffstats
path: root/poky/meta/classes/toolchain-scripts.bbclass
diff options
context:
space:
mode:
Diffstat (limited to 'poky/meta/classes/toolchain-scripts.bbclass')
-rw-r--r--poky/meta/classes/toolchain-scripts.bbclass34
1 files changed, 29 insertions, 5 deletions
diff --git a/poky/meta/classes/toolchain-scripts.bbclass b/poky/meta/classes/toolchain-scripts.bbclass
index 71da5e540..6d1ba6947 100644
--- a/poky/meta/classes/toolchain-scripts.bbclass
+++ b/poky/meta/classes/toolchain-scripts.bbclass
@@ -51,6 +51,10 @@ toolchain_create_sdk_env_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_BASELIB="${baselib}"' >> $script
+ echo 'export OECORE_TARGET_ARCH="${TARGET_ARCH}"' >>$script
+ echo 'export OECORE_TARGET_OS="${TARGET_OS}"' >>$script
+
echo 'unset command_not_found_handle' >> $script
toolchain_shared_env_script
@@ -118,14 +122,34 @@ EOF
}
toolchain_create_post_relocate_script() {
- script=$1
- rm -f $script
- touch $script
+ relocate_script=$1
+ env_dir=$2
+ rm -f $relocate_script
+ touch $relocate_script
+
+ cat >> $relocate_script <<EOF
+# Source top-level SDK env scripts in case they are needed for the relocate
+# scripts.
+for env_setup_script in ${env_dir}/environment-setup-*; do
+ . \$env_setup_script
+ status=\$?
+ if [ \$status != 0 ]; then
+ echo "\$0: Failed to source \$env_setup_script with status \$status"
+ exit \$status
+ fi
+done
- cat >> $script <<EOF
if [ -d "${SDKPATHNATIVE}/post-relocate-setup.d/" ]; then
- for s in ${SDKPATHNATIVE}/post-relocate-setup.d/*.sh; do
+ for s in ${SDKPATHNATIVE}/post-relocate-setup.d/*; do
+ if [ ! -x \$s ]; then
+ continue
+ fi
\$s "\$1"
+ status=\$?
+ if [ \$status != 0 ]; then
+ echo "post-relocate command \"\$s \$1\" failed with status \$status" >&2
+ exit \$status
+ fi
done
rm -rf "${SDKPATHNATIVE}/post-relocate-setup.d"
fi
OpenPOWER on IntegriCloud