diff options
| author | Richard Purdie <richard.purdie@linuxfoundation.org> | 2011-05-18 00:03:02 +0100 |
|---|---|---|
| committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2011-05-31 13:07:00 +0100 |
| commit | 52295fa3deef3b0374b99829626d524cefae6001 (patch) | |
| tree | 90a71c05f9efdb6d67685f27b33406ddcc4277df /meta/classes/allarch.bbclass | |
| parent | c3a7382c9aa56fdc06198788833a27e882d5030a (diff) | |
| download | poky-52295fa3deef3b0374b99829626d524cefae6001.tar.gz | |
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.
(From OE-Core rev: 26e5e5feb695864b11e47e24017e254c28f14494)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/classes/allarch.bbclass')
| -rw-r--r-- | meta/classes/allarch.bbclass | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/meta/classes/allarch.bbclass b/meta/classes/allarch.bbclass new file mode 100644 index 0000000000..b7c37c3dd1 --- /dev/null +++ b/meta/classes/allarch.bbclass | |||
| @@ -0,0 +1,15 @@ | |||
| 1 | # | ||
| 2 | # This class is used for architecture independent recipes/data files (usally scripts) | ||
| 3 | # | ||
| 4 | |||
| 5 | PACKAGE_ARCH = "all" | ||
| 6 | |||
| 7 | # No need for virtual/libc or a cross compiler | ||
| 8 | INHIBIT_DEFAULT_DEPS = "1" | ||
| 9 | |||
| 10 | # Set these to a common set of values, we shouldn't be using them other that for WORKDIR directory | ||
| 11 | # naming anyway | ||
| 12 | TARGET_ARCH = "all" | ||
| 13 | TARGET_OS = "linux" | ||
| 14 | TARGET_CC_ARCH = "none" | ||
| 15 | PACKAGE_EXTRA_ARCHS = "" | ||
