allarch: Allow class to be included but overridden
authorRichard Purdie <richard.purdie@linuxfoundation.org>
Sun, 25 Nov 2012 20:23:00 +0000 (20:23 +0000)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Mon, 26 Nov 2012 10:01:23 +0000 (10:01 +0000)
We have cases where we'd like to inherit this class by default but allow
special cases to override it. This change makes the code of the class
conditional on PACKAGE_ARCH remaining set to "all", allowing it to be
overridden. packagegroup usage is one case this is desirable.

(From OE-Core rev: 7dd91402b719ac62b51088f234354f82bfa9c4b6)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
meta/classes/allarch.bbclass

index 21157e5..8669470 100644 (file)
@@ -4,20 +4,25 @@
 
 PACKAGE_ARCH = "all"
 
-# No need for virtual/libc or a cross compiler
-INHIBIT_DEFAULT_DEPS = "1"
+python () {
+    # Allow this class to be included but overridden - only set
+    # the values if we're still "all" package arch.
+    if d.getVar("PACKAGE_ARCH") == "all":
+        # No need for virtual/libc or a cross compiler
+        d.setVar("INHIBIT_DEFAULT_DEPS","1")
 
-# Set these to a common set of values, we shouldn't be using them other that for WORKDIR directory
-# naming anyway
-TARGET_ARCH = "allarch"
-TARGET_OS = "linux"
-TARGET_CC_ARCH = "none"
-TARGET_LD_ARCH = "none"
-TARGET_AS_ARCH = "none"
-PACKAGE_EXTRA_ARCHS = ""
+        # Set these to a common set of values, we shouldn't be using them other that for WORKDIR directory
+        # naming anyway
+        d.setVar("TARGET_ARCH", "allarch")
+        d.setVar("TARGET_OS", "linux")
+        d.setVar("TARGET_CC_ARCH", "none")
+        d.setVar("TARGET_LD_ARCH", "none")
+        d.setVar("TARGET_AS_ARCH", "none")
+        d.setVar("PACKAGE_EXTRA_ARCHS", "")
 
-# No need to do shared library processing or debug symbol handling
-EXCLUDE_FROM_SHLIBS = "1"
-INHIBIT_PACKAGE_DEBUG_SPLIT = "1"
-INHIBIT_PACKAGE_STRIP = "1"
+        # No need to do shared library processing or debug symbol handling
+        d.setVar("EXCLUDE_FROM_SHLIBS", "1")
+        d.setVar("INHIBIT_PACKAGE_DEBUG_SPLIT", "1")
+        d.setVar("INHIBIT_PACKAGE_STRIP", "1")
+}