utils: Add all_multilib_tune_list function
Its useful to be able to query a list of variables to obtain the values in each multilib context. This adds such a function which works even if called in the non-default recipe context. (From OE-Core rev: 4202a09dece07c0d3f654c2b1ae504a031b4ee90) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
parent
de4fffe558
commit
153da94000
|
@ -382,3 +382,40 @@ def all_multilib_tune_values(d, var, unique = True, need_split = True, delim = '
|
|||
else:
|
||||
ret = values
|
||||
return " ".join(ret)
|
||||
|
||||
def all_multilib_tune_list(vars, d):
|
||||
"""
|
||||
Return a list of ${VAR} for each variable VAR in vars from each
|
||||
multilib tune configuration.
|
||||
Is safe to be called from a multilib recipe/context as it can
|
||||
figure out the original tune and remove the multilib overrides.
|
||||
"""
|
||||
values = {}
|
||||
for v in vars:
|
||||
values[v] = []
|
||||
|
||||
localdata = bb.data.createCopy(d)
|
||||
overrides = localdata.getVar("OVERRIDES", False).split(":")
|
||||
newoverrides = []
|
||||
for o in overrides:
|
||||
if not o.startswith("virtclass-multilib-"):
|
||||
newoverrides.append(o)
|
||||
localdata.setVar("OVERRIDES", ":".join(newoverrides))
|
||||
localdata.setVar("MLPREFIX", "")
|
||||
origdefault = localdata.getVar("DEFAULTTUNE_MULTILIB_ORIGINAL", True)
|
||||
if origdefault:
|
||||
localdata.setVar("DEFAULTTUNE", origdefault)
|
||||
bb.data.update_data(localdata)
|
||||
values['ml'] = ['']
|
||||
for v in vars:
|
||||
values[v].append(localdata.getVar(v, True))
|
||||
variants = d.getVar("MULTILIB_VARIANTS", True) or ""
|
||||
for item in variants.split():
|
||||
localdata = bb.data.createCopy(d)
|
||||
overrides = localdata.getVar("OVERRIDES", False) + ":virtclass-multilib-" + item
|
||||
localdata.setVar("OVERRIDES", overrides)
|
||||
localdata.setVar("MLPREFIX", item + "-")
|
||||
bb.data.update_data(localdata)
|
||||
values[v].append(localdata.getVar(v, True))
|
||||
values['ml'].append(item)
|
||||
return values
|
||||
|
|
Loading…
Reference in New Issue