On Fri, 2018-06-01 at 14:02 -0700, Martin Kelly wrote: > It's useful for the post-relocate scripts to be able to see the SDK > environment, for example to see the values of CC, CXX etc. in order > to > dynamically generate toolchain files. > > To enable this, source the SDK environment script prior to calling > the > relocate scripts. > > Signed-off-by: Martin Kelly <mke...@xevo.com> > --- > meta/classes/toolchain-scripts.bbclass | 17 +++++++++++++---- > meta/recipes-core/meta/meta-environment.bb | 5 +++-- > 2 files changed, 16 insertions(+), 6 deletions(-) > > diff --git a/meta/classes/toolchain-scripts.bbclass > b/meta/classes/toolchain-scripts.bbclass > index ae7bbef034..5f99fd8c03 100644 > --- a/meta/classes/toolchain-scripts.bbclass > +++ b/meta/classes/toolchain-scripts.bbclass > @@ -118,11 +118,20 @@ EOF > } > > toolchain_create_post_relocate_script() { > - script=$1 > - rm -f $script > - touch $script > + relocate_script=$1 > + sdk_script=$2 > + rm -f $relocate_script > + touch $relocate_script > + > + cat >> $relocate_script <<EOF > +# Source the SDK env script in case it is needed for the relocate > scripts. > +. $sdk_script
I had originally done something similar to this when I added support for the post-relocate scripts with icecream. However, it is insufficent because there can be multiple SDK environment scripts that need to be sourced. In order to get a fully correct environment, I had to do: # Setup environment for env_setup_script in `ls $1/environment-setup-*`; do . $env_setup_script done see meta/recipes-devtools/icecc-toolchain/icecc-toolchain/icecc- setup.sh > +status=\$? > +if [ \$status != 0 ]; then > + echo "\$0: Failed to source $sdk_script with status \$status" > + exit \$status > +fi > > - cat >> $script <<EOF > if [ -d "${SDKPATHNATIVE}/post-relocate-setup.d/" ]; then > for s in ${SDKPATHNATIVE}/post-relocate-setup.d/*; do > \$s "\$1" > diff --git a/meta/recipes-core/meta/meta-environment.bb > b/meta/recipes-core/meta/meta-environment.bb > index 09f757a087..74c0600c3d 100644 > --- a/meta/recipes-core/meta/meta-environment.bb > +++ b/meta/recipes-core/meta/meta-environment.bb > @@ -51,12 +51,13 @@ create_sdk_files() { > # Setup site file for external use > toolchain_create_sdk_siteconfig > ${SDK_OUTPUT}/${SDKPATH}/site-config-${REAL_MULTIMACH_TARGET_SYS} > > - toolchain_create_sdk_env_script > ${SDK_OUTPUT}/${SDKPATH}/environment-setup- > ${REAL_MULTIMACH_TARGET_SYS} > + sdk_script="${SDKPATH}/environment-setup- > ${REAL_MULTIMACH_TARGET_SYS}" > + toolchain_create_sdk_env_script ${SDK_OUTPUT}/${sdk_script} > > # Add version information > toolchain_create_sdk_version > ${SDK_OUTPUT}/${SDKPATH}/version-${REAL_MULTIMACH_TARGET_SYS} > > - toolchain_create_post_relocate_script > ${SDK_OUTPUT}/${SDKPATH}/post-relocate-setup.sh > + toolchain_create_post_relocate_script > ${SDK_OUTPUT}/${SDKPATH}/post-relocate-setup.sh ${sdk_script} > } > > do_install() { -- _______________________________________________ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core