summaryrefslogtreecommitdiff
path: root/meta/classes/allarch.bbclass
diff options
context:
space:
mode:
authorRichard Purdie <richard.purdie@linuxfoundation.org>2011-05-18 00:03:02 +0100
committerRichard Purdie <richard.purdie@linuxfoundation.org>2011-05-31 12:56:38 +0100
commit26e5e5feb695864b11e47e24017e254c28f14494 (patch)
tree754537dc0577fdcb6cf753bfbd926aeb74183789 /meta/classes/allarch.bbclass
parent5c3f39c56d1a7402c1f1f3b6db1f2764fcc8f190 (diff)
downloadopenembedded-core-26e5e5feb695864b11e47e24017e254c28f14494.tar.gz
openembedded-core-26e5e5feb695864b11e47e24017e254c28f14494.tar.bz2
openembedded-core-26e5e5feb695864b11e47e24017e254c28f14494.tar.xz
openembedded-core-26e5e5feb695864b11e47e24017e254c28f14494.zip
Improve handling of 'all' architecture recipes and their interaction with sstate
The existing PACKAGE_ARCH = "all" mechanism of sharing packages is problematic with sstate since there are a variety of variables which have target specific values and the sstate package therefore correctly changes signature depending on the MACHINE setting. This patch creates a new "allarch" class which sets: PACKAGE_ARCH = "all" (as per the existing convention) INHIBIT_DEFAULT_DEPS = "1" (since its not target specific and therefore can't depend on the cross compiler or target libc) TARGET_ARCH = "all" TARGET_OS = "linux" TARGET_CC_ARCH = "none" (since these variables shouldn't change between the different packages and target compiler flags shouldn't be getting used) PACKAGE_EXTRA_ARCHS = "" (since we shouldn't be depending on any architecture specific package architectures) Not all PACKAGE_ARCH = "all" recipes can use this class since some run configure checks on the compiler. This means they have target specific components and therefore the "all" classification is incorrect. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/classes/allarch.bbclass')
-rw-r--r--meta/classes/allarch.bbclass15
1 files changed, 15 insertions, 0 deletions
diff --git a/meta/classes/allarch.bbclass b/meta/classes/allarch.bbclass
new file mode 100644
index 000000000..b7c37c3dd
--- /dev/null
+++ b/meta/classes/allarch.bbclass
@@ -0,0 +1,15 @@
+#
+# This class is used for architecture independent recipes/data files (usally scripts)
+#
+
+PACKAGE_ARCH = "all"
+
+# No need for virtual/libc or a cross compiler
+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 = "all"
+TARGET_OS = "linux"
+TARGET_CC_ARCH = "none"
+PACKAGE_EXTRA_ARCHS = ""