summaryrefslogtreecommitdiffstats
path: root/meta/lib/oe/classextend.py
Commit message (Collapse)AuthorAgeFilesLines
* classextend: Do not extend for that already have multilib prefixJackie Huang2014-11-121-0/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If a BSP supports two or more multilibs, for example: MULTILIBS = "multilib:lib32 multilib:lib64" and a variable is already extended to include multilib variants, for example in populate_sdk_base: commit 396371588c7fd2d691ca9c39cd02287e43cb665b Author: Richard Purdie <richard.purdie@linuxfoundation.org> Date: Thu Jul 24 22:09:09 2014 +0100 populate_sdk_base: Extend TOOLCHAIN_TARGET_TASK to include multilib variants Most people expect the toolchain from a multilib build to contain multilib components. This change makes that happen and is easy for users to override should they want something different. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> The mapping clsextend.map_depends_variable("TOOLCHAIN_TARGET_TASK") ends up with a wrong double extended package name like: lib32-lib64-packagegroup-core-standalone-sdk-target This patch avoid such issues. (From OE-Core rev: c4e9b2aa894d59fe951038b3b73795b6891df70a) Signed-off-by: Jackie Huang <jackie.huang@windriver.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* lib/oe/classextend: Avoid early expansion of PR valuesRichard Purdie2014-07-251-1/+6
| | | | | | | | | | | | | | Variables like RDEPENDS can contain EXTENDPKGV which in turn uses AUTOPR based values. This gets set during do_package execution so we want to defer expansion until then. The only way we can do this in the RDEPENDS (and friends) mapping code is to subsitute a dummy value, then change it back again. Horrible but I can't see any other way. This resolves multilib build failures with inconsistent PR values. (From OE-Core rev: 5aea553e6eaa3b9647f26944976d2a9da79cba42) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* classextend: Fix crosssdk remapping for multilibRichard Purdie2014-06-011-0/+2
| | | | | | | | | | Multilib builds only require one crosssdk toolchain. We therefore shouldn't be remapping crosssdk names. This resolves build failures looking for weird multilib crosssdk toolchains. (From OE-Core rev: aa8b93e2db06866529d20939452f81fb9e18aaab) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* classes/lib/oe: Fix cross/crosssdk referencesRichard Purdie2014-05-111-4/+4
| | | | | | | | | | | | | | | | With the renaming of the cross packages, its no longer possible to use endswith("-cross") and similar to detect cross packages. Replace these references with other techniques. This resolves certain build from sstate failures which were due to the system believing cross packages were target packages and therefore dependency handling was altered. (From OE-Core rev: 91edf4cac223298e50a4b8e59dd19f1b272e3418) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* lib/oe/classextend.py: avoid extending any kernel packagePaul Eggleton2013-04-051-1/+1
| | | | | | | | | | | | | For multilib and other uses of classextend, we don't want any dependencies on kernel packages to be extended since there should only be one kernel variant. Fixes [YOCTO #2918] (where kernel-dev was being extended.) (From OE-Core rev: b684c0f0d5d93f5147dee79951647eb3ddf4c840) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* classextend.py: use explode_dep_versions2 in order to preserve versions tooConstantin Musca2013-02-061-4/+5
| | | | | | | | (From OE-Core rev: a5136a9bf70f3a6d7d0b599678cb901c8e45c7f7) Signed-off-by: Constantin Musca <constantinx.musca@intel.com> Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* multilib: skip packages that provide virtual/kernelBruce Ashfield2013-02-011-1/+1
| | | | | | | | | | | | | | | | | | Rather than keying on recipes that inherit kernel.bbclass, we should be checking for providers of virtual/kernel when skipping kernel recipes in multlib builds. Not all providers of virtual/kernel inherit kernel.bbclass (notably linux-dummy), so checking on the provider is a more complete check. We need to be sure to check for inheritance of module-base as well, this allows for packages that provides modules to avoid the multilib renaming. (From OE-Core rev: dc7d181ab03ceab87a24d932130109003334dbf8) Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com> Signed-off-by: Mark Hatle <mark.hatle@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* lib/oe/classextend: Ensure we don't extend expressions more than onceRichard Purdie2012-11-061-1/+3
| | | | | | | | | | | We could end up with MLPREFIX being prepended to variables like PACKAGE_DYNAMIC. This patch avoids the problem and unbreaks builds. [YOCTO #3389] (From OE-Core rev: 5e4714a454f9f742bf8af70dad2aa66ccb87e3fd) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* multilib - crosssdk: Stop building multilib for crosssdk packagesMark Hatle2012-10-271-2/+2
| | | | | | | | | | | | Crosssdk packages are not actually multilib packages, so treat them the same as other nativesdk packages in the multilib, base, and classextend components. (From OE-Core rev: 15834451525453e0f7ceac25d4f98117f1825f37) Signed-off-by: Mark Hatle <mark.hatle@windriver.com> Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* multilib: Add support for cross-canadian multilib packagesMark Hatle2012-10-271-2/+2
| | | | | | | | | | | | | | | | | | | | | | Add support for the generation of cross-canadian packages. Each cross-canadian package has: PN = "pkg-cross-canadian-${TRANSLATED_TARGET_ARCH}" in order for that to be evaluated properly with multilibs enabled, it was necessary to detect both the presence of the cross-canadian packages and then update the vars using the OVERRIDE for the multilib. Additional checks were made to ensure that any dependency that sais "cross-canadian" did not get prefixed with the MLPREFIX. Also, make sure that even when building multilib cross-canadian packages, we only use the single SDK PACKAGE_ARCH, we don't want or need variants. (From OE-Core rev: 132a182e2f6c330aa645de42c1aeb386e43bddd3) Signed-off-by: Mark Hatle <mark.hatle@windriver.com> Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* multilib/clsextend: Improve handling of regexps in PACKAGES_DYNAMICRichard Purdie2012-10-221-0/+16
| | | | | | | | | | | | | Now that PACKAGES_DYNAMIC is more standardised, starting with ^ anchors, the variable manipulations performed by clsextend for multilib don't work. This patch at least improves it to hack around the problem and enable mulitlib builds to work again. If this code doesn't do the right thing, the recipe is free to override the variable with the correct multilib case. (From OE-Core rev: 593faec6e0155bdd7a43ee84c24de8ee20287681) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* nativesdk: Convert to use classextend.pyRichard Purdie2012-09-021-0/+4
| | | | | | | | | | | | This patch converts the nativesdk class itself from operating as a suffix to a prefix (see the proceeding patch for the related changes outside this class). The big benefit here is that we can reuse the generic class extension code. (From OE-Core rev: f01f0b8aed25af889f48fe1afff96feb3d9ed120) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* multilib: Abstract class extension code into classextend.pyRichard Purdie2012-01-051-0/+81
(From OE-Core rev: 563828bad19a242bba9ce3db461bb5807037dfdf) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>