]> code.ossystems Code Review - openembedded-core.git/commit
multilib_global.bbclass: PREFERRED_PROVIDERS for multilibs
authorPeter Seebach <peter.seebach@windriver.com>
Thu, 14 Aug 2014 18:03:36 +0000 (13:03 -0500)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Fri, 15 Aug 2014 17:19:52 +0000 (18:19 +0100)
commit513f72274460e54fd35dda5ef70fa42ba2b284f8
tree783454fe2d7a48f46cc2fa2a583e91dc9ef07ac9
parent0ba6ab39f187ecd4261f08e768f365f461384a3a
multilib_global.bbclass: PREFERRED_PROVIDERS for multilibs

The code in base.bbclass to spread PREFERRED_PROVIDERS values
to multilibs doesn't work for things which rely on TARGET_PREFIX,
such as virtual/${TARGET_PREFIX}gcc. This is because the expansion
of TARGET_PREFIX produces the wrong value if executed prior to
the assignment of TARGET_VENDOR_virtclass-multilib-libxx, which
will always happen since that assignment doesn't happen until recipe
parsing, but the PREFERRED_PROVIDERS expansion is happening
around ConfigParsed.

To solve this, we make a couple of changes. First, the creation
of the TARGET_VENDOR override values is moved into a new ConfigParsed
event handler in multilib_global. Second, the preferred_ml_updates()
function's code is moved into that function too. It seems safe to
assume that PREFERRED_PROVIDER values only need to be spread to
other multilibs when multilibs are in use.

I don't think this directly affects any use cases that don't involve
third-party or alternative toolchains.

Signed-off-by: Peter Seebach <peter.seebach@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
meta/classes/base.bbclass
meta/classes/multilib_global.bbclass