diff options
Diffstat (limited to 'poky/meta/classes/toolchain-scripts.bbclass')
-rw-r--r-- | poky/meta/classes/toolchain-scripts.bbclass | 34 |
1 files changed, 29 insertions, 5 deletions
diff --git a/poky/meta/classes/toolchain-scripts.bbclass b/poky/meta/classes/toolchain-scripts.bbclass index 71da5e5409..6d1ba69473 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 |