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 > --- > 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@gmail.com