diff mbox

[2/3] classes/useflags: Remove MACHINE_USE_ for sdk, native, sdk-cross recipes

Message ID 114bababb9775f2134207e89c6aa20007c4ea354.1385388440.git.morten.thunbergsvendsen@prevas.dk
State Accepted
Delegated to: Esben Haabendal
Headers show

Commit Message

Morten Svendsen Nov. 25, 2013, 2:10 p.m. UTC
MACHINE_USE_ flags must not be used in sdk, native and sdk-cross recipes so
delete them before setting the USE_ flags.

Fixes bug where EXTRA_ARCH was set to ".${MACHINE}" in useflags.oeclass when a
MACHINE_USE flag was set in a sdk-cross recipe. In this case of sdk-cross:gcc
and use of MACHINE_USE_toolchain_min_kernel_machine.
---
 classes/useflags.oeclass | 22 ++++++++++++++++++++++
 1 file changed, 22 insertions(+)

Comments

Esben Haabendal Nov. 28, 2013, 8:58 a.m. UTC | #1
Merged to master, thanks.

/Esben
diff mbox

Patch

diff --git a/classes/useflags.oeclass b/classes/useflags.oeclass
index 80bbe05..e26d511 100644
--- a/classes/useflags.oeclass
+++ b/classes/useflags.oeclass
@@ -53,6 +53,28 @@  def set_useflags(d):
 
 BLACKLIST_PREFIX += "LOCAL_USE_ RECIPE_USE_ MACHINE_USE_ DISTRO_USE_ DEFAULT_USE_"
 
+addhook del_useflags to post_recipe_parse first before set_useflags after arch_update
+
+def del_useflags(d):
+    import oebakery
+    useflags = ((d.get('RECIPE_FLAGS') or "").split() +
+                (d.get('CLASS_FLAGS') or "").split())
+    if not useflags:
+        return
+
+    pkg = d.get("PN")
+    pkg_type = d.get("PACKAGE_TYPE_" + pkg) or d.get("RECIPE_TYPE")
+    if not pkg_type in ("native", "sdk", "sdk-cross"):
+        return
+
+    for useflag in useflags:
+        machine_val = d.get('MACHINE_USE_'+useflag)
+        if machine_val is not None:
+            oebakery.info('Deleting MACHINE_USE_%s variable from %s:%s_%s'
+                          %(useflag,pkg_type,pkg,d.get("PV")))
+            d.del_var('MACHINE_USE_'+useflag)
+
+
 # Local Variables:
 # mode: python
 # End: