[OE-core] [PATCH 3/3] WIP: icecc.bbclass: Exclude few variables causing different signatures for native and allarch recipes

Martin Jansa martin.jansa at gmail.com
Thu Dec 5 21:21:23 UTC 2013


On Wed, Dec 04, 2013 at 11:10:32PM +0100, Martin Jansa wrote:
> * I'm not entirely sure it's best way to do it, but it's the easiest one
> * we can clean TARGET_FPU in allarch.bbclass to resolve icc_version
> * we can provide separate icc_get_tool function for native recipes

I've tried to implement cleaner solution, it's easy for TARGET_FPU, but
splitting native portion of icc_get_tool is causing me some issues

shouldn't global "d" be always defined?

this fails when called from shell task: expansion of get_tools 
threw ExpansionError: Failure expanding variable get_tools, expression was
ICECC_CC="${@icc_get_and_check_tool_native(bb, d, 'gcc')}"

which triggered exception NameError: global name 'd' is not defined
but the same line works fine in different shell function

It's probably something trivial, but I don't see it now, any hint would
be appreciated

whole change (currently not working)
http://bpaste.net/show/155875/

Interesting thing is that bitbake -e zlib-native doesn't fail with parse
error (like other parsing errors) but the error message shown above can
be found hidden in bitbake -e output.

> 
> Signed-off-by: Martin Jansa <Martin.Jansa at gmail.com>
> ---
>  meta/classes/icecc.bbclass | 4 ++++
>  1 file changed, 4 insertions(+)
> 
> diff --git a/meta/classes/icecc.bbclass b/meta/classes/icecc.bbclass
> index 3c719ef..d1c056c 100644
> --- a/meta/classes/icecc.bbclass
> +++ b/meta/classes/icecc.bbclass
> @@ -142,6 +142,8 @@ def icc_is_native(bb, d):
>          bb.data.inherits_class("cross", d) or \
>          bb.data.inherits_class("native", d);
>  
> +# Don't pollute allarch signatures with TARGET_FPU
> +icc_version[vardepsexclude] += "TARGET_FPU"
>  def icc_version(bb, d):
>      if use_icc(bb, d) == "no":
>          return ""
> @@ -182,6 +184,8 @@ def icc_get_external_tool(bb, d, tool):
>      target_prefix = d.expand('${TARGET_PREFIX}')
>      return os.path.join(external_toolchain_bindir, '%s%s' % (target_prefix, tool))
>  
> +# Don't pollute native signatures with target TUNE_PKGARCH through STAGING_BINDIR_TOOLCHAIN
> +icc_get_tool[vardepsexclude] += "STAGING_BINDIR_TOOLCHAIN"
>  def icc_get_tool(bb, d, tool):
>      if icc_is_native(bb, d):
>          return bb.utils.which(os.getenv("PATH"), tool)
> -- 
> 1.8.4.3
> 

-- 
Martin 'JaMa' Jansa     jabber: Martin.Jansa at gmail.com
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 198 bytes
Desc: Digital signature
URL: <http://lists.openembedded.org/pipermail/openembedded-core/attachments/20131205/0415c3d7/attachment.sig>


More information about the Openembedded-core mailing list