From 26e5e5feb695864b11e47e24017e254c28f14494 Mon Sep 17 00:00:00 2001 From: Richard Purdie Date: Wed, 18 May 2011 00:03:02 +0100 Subject: 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 --- meta/classes/siteinfo.bbclass | 1 + 1 file changed, 1 insertion(+) (limited to 'meta/classes/siteinfo.bbclass') diff --git a/meta/classes/siteinfo.bbclass b/meta/classes/siteinfo.bbclass index 0b59e578f..6c272a75b 100644 --- a/meta/classes/siteinfo.bbclass +++ b/meta/classes/siteinfo.bbclass @@ -19,6 +19,7 @@ def get_siteinfo_list(d): target = bb.data.getVar('HOST_ARCH', d, 1) + "-" + bb.data.getVar('HOST_OS', d, 1) targetinfo = {\ + "all-linux": "",\ "armeb-linux": "endian-big bit-32 common-glibc arm-common",\ "armeb-linux-gnueabi": "endian-big bit-32 common-glibc arm-common armeb-linux",\ "armeb-linux-uclibc": "endian-big bit-32 common-uclibc arm-common",\ -- cgit v1.2.3