summaryrefslogtreecommitdiffstats
path: root/meta
diff options
context:
space:
mode:
authorRichard Purdie <richard.purdie@linuxfoundation.org>2013-02-13 00:21:53 +0000
committerRichard Purdie <richard.purdie@linuxfoundation.org>2013-02-14 10:06:30 +0000
commite3f5d7dee070464c636c4cb38844e098ec9d75f8 (patch)
treefbea7ca1864cdf328863f1805b044cdac9e2722c /meta
parent3ec4df57540421df2cda6b83c615bfb7cebccefd (diff)
downloadpoky-e3f5d7dee070464c636c4cb38844e098ec9d75f8.tar.gz
multilib: Fix an OVERRIDES expansion order issue
There were problems where a SRC_URI with: SRC_URI_append_powerpc = " xxx" SRC_URI_append_powerpc64 = " xxx2" would end up with *both* xxx and xxx2 being added when using a multilib which is clearly incorrect and undesirable. The issue is that OVERRIDES has virtclass-multilib-xxxx added to it, this eventually changed DEFAULTTUNE which then changes TRANSLATED_TARGET_ARCH which is in OVERRIDES meaning we then need to re-evaluate the overides and the TRANSLATED_TARGET_ARCH gets applied twice since once you apply an override, it doesn't get undone. Expanding DEFAULTTUNE to the correct value in advance avoids the issue and means only the correct overrides get applied. [YOCTO #3874] (From OE-Core rev: 920c9024f5a47ad14670067f910450983bae2aa7) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta')
-rw-r--r--meta/classes/multilib.bbclass5
1 files changed, 5 insertions, 0 deletions
diff --git a/meta/classes/multilib.bbclass b/meta/classes/multilib.bbclass
index a999b69b2a..3cc470ec4c 100644
--- a/meta/classes/multilib.bbclass
+++ b/meta/classes/multilib.bbclass
@@ -52,6 +52,11 @@ python multilib_virtclass_handler () {
52 e.data.setVar("PN", variant + "-" + e.data.getVar("PN", False)) 52 e.data.setVar("PN", variant + "-" + e.data.getVar("PN", False))
53 e.data.setVar("SHLIBSDIR_virtclass-multilib-" + variant ,e.data.getVar("SHLIBSDIR", False) + "/" + variant) 53 e.data.setVar("SHLIBSDIR_virtclass-multilib-" + variant ,e.data.getVar("SHLIBSDIR", False) + "/" + variant)
54 e.data.setVar("OVERRIDES", e.data.getVar("OVERRIDES", False) + override) 54 e.data.setVar("OVERRIDES", e.data.getVar("OVERRIDES", False) + override)
55
56 # DEFAULTTUNE can change TARGET_ARCH override so expand this now before update_data
57 newtune = e.data.getVar("DEFAULTTUNE_" + "virtclass-multilib-" + variant, False)
58 if newtune:
59 e.data.setVar("DEFAULTTUNE", newtune)
55} 60}
56 61
57addhandler multilib_virtclass_handler 62addhandler multilib_virtclass_handler