diff options
Diffstat (limited to 'meta/classes/utils.bbclass')
-rw-r--r-- | meta/classes/utils.bbclass | 20 |
1 files changed, 10 insertions, 10 deletions
diff --git a/meta/classes/utils.bbclass b/meta/classes/utils.bbclass index d834a8a277..549e4b82f5 100644 --- a/meta/classes/utils.bbclass +++ b/meta/classes/utils.bbclass | |||
@@ -349,6 +349,14 @@ def multilib_pkg_extend(d, pkg): | |||
349 | pkgs = pkgs + " " + v + "-" + pkg | 349 | pkgs = pkgs + " " + v + "-" + pkg |
350 | return pkgs | 350 | return pkgs |
351 | 351 | ||
352 | def get_multilib_datastore(variant, d): | ||
353 | localdata = bb.data.createCopy(d) | ||
354 | overrides = localdata.getVar("OVERRIDES", False) + ":virtclass-multilib-" + variant | ||
355 | localdata.setVar("OVERRIDES", overrides) | ||
356 | localdata.setVar("MLPREFIX", variant + "-") | ||
357 | bb.data.update_data(localdata) | ||
358 | return localdata | ||
359 | |||
352 | def all_multilib_tune_values(d, var, unique = True, need_split = True, delim = ' '): | 360 | def all_multilib_tune_values(d, var, unique = True, need_split = True, delim = ' '): |
353 | """Return a string of all ${var} in all multilib tune configuration""" | 361 | """Return a string of all ${var} in all multilib tune configuration""" |
354 | values = [] | 362 | values = [] |
@@ -361,11 +369,7 @@ def all_multilib_tune_values(d, var, unique = True, need_split = True, delim = ' | |||
361 | values.append(value) | 369 | values.append(value) |
362 | variants = d.getVar("MULTILIB_VARIANTS") or "" | 370 | variants = d.getVar("MULTILIB_VARIANTS") or "" |
363 | for item in variants.split(): | 371 | for item in variants.split(): |
364 | localdata = bb.data.createCopy(d) | 372 | localdata = get_multilib_datastore(item, d) |
365 | overrides = localdata.getVar("OVERRIDES", False) + ":virtclass-multilib-" + item | ||
366 | localdata.setVar("OVERRIDES", overrides) | ||
367 | localdata.setVar("MLPREFIX", item + "-") | ||
368 | bb.data.update_data(localdata) | ||
369 | value = localdata.getVar(var) or "" | 373 | value = localdata.getVar(var) or "" |
370 | if value != "": | 374 | if value != "": |
371 | if need_split: | 375 | if need_split: |
@@ -411,11 +415,7 @@ def all_multilib_tune_list(vars, d): | |||
411 | values[v].append(localdata.getVar(v)) | 415 | values[v].append(localdata.getVar(v)) |
412 | variants = d.getVar("MULTILIB_VARIANTS") or "" | 416 | variants = d.getVar("MULTILIB_VARIANTS") or "" |
413 | for item in variants.split(): | 417 | for item in variants.split(): |
414 | localdata = bb.data.createCopy(d) | 418 | localdata = get_multilib_datastore(item, d) |
415 | overrides = localdata.getVar("OVERRIDES", False) + ":virtclass-multilib-" + item | ||
416 | localdata.setVar("OVERRIDES", overrides) | ||
417 | localdata.setVar("MLPREFIX", item + "-") | ||
418 | bb.data.update_data(localdata) | ||
419 | values[v].append(localdata.getVar(v)) | 419 | values[v].append(localdata.getVar(v)) |
420 | values['ml'].append(item) | 420 | values['ml'].append(item) |
421 | return values | 421 | return values |