From 29353297b508881451b8e97f7d1db2eadaa653f6 Mon Sep 17 00:00:00 2001 From: Richard Purdie Date: Mon, 2 Jul 2018 08:59:34 +0000 Subject: classes/utils: Improve all_multilib_tune_values Currently there is duplication in the code, we can clean this up by extending the multilib variants list. This code also currently fails its its called from an existing multilib context since its assumes the data store passed in is the non-multilib case. When building an image, say lib32-core-image-sato, this leads to incorrect PATH values. To fix this, we also request a data store for the "" variant allowing this corner case to be fixed and for the function to correctly return values for each multilib even when a multilib is already selected. (From OE-Core rev: cc1c481560b81c223170230430308c7e2f08c812) Signed-off-by: Richard Purdie --- meta/classes/utils.bbclass | 11 ++--------- 1 file changed, 2 insertions(+), 9 deletions(-) (limited to 'meta/classes') diff --git a/meta/classes/utils.bbclass b/meta/classes/utils.bbclass index 3f4f51b56b..7035f9da25 100644 --- a/meta/classes/utils.bbclass +++ b/meta/classes/utils.bbclass @@ -328,15 +328,8 @@ def get_multilib_datastore(variant, d): def all_multilib_tune_values(d, var, unique = True, need_split = True, delim = ' '): """Return a string of all ${var} in all multilib tune configuration""" values = [] - value = d.getVar(var) or "" - if value != "": - if need_split: - for item in value.split(delim): - values.append(item) - else: - values.append(value) - variants = d.getVar("MULTILIB_VARIANTS") or "" - for item in variants.split(): + variants = (d.getVar("MULTILIB_VARIANTS") or "").split() + [''] + for item in variants: localdata = get_multilib_datastore(item, d) # We need WORKDIR to be consistent with the original datastore localdata.setVar("WORKDIR", d.getVar("WORKDIR")) -- cgit v1.2.3-54-g00ecf