summaryrefslogtreecommitdiffstats
path: root/meta/classes/multilib_global.bbclass
Commit message (Collapse)AuthorAgeFilesLines
* multilib_global.bbclass: PREFERRED_PROVIDERS for multilibsPeter Seebach2014-08-151-3/+114
| | | | | | | | | | | | | | | | | | | | | | | | | | The code in base.bbclass to spread PREFERRED_PROVIDERS values to multilibs doesn't work for things which rely on TARGET_PREFIX, such as virtual/${TARGET_PREFIX}gcc. This is because the expansion of TARGET_PREFIX produces the wrong value if executed prior to the assignment of TARGET_VENDOR_virtclass-multilib-libxx, which will always happen since that assignment doesn't happen until recipe parsing, but the PREFERRED_PROVIDERS expansion is happening around ConfigParsed. To solve this, we make a couple of changes. First, the creation of the TARGET_VENDOR override values is moved into a new ConfigParsed event handler in multilib_global. Second, the preferred_ml_updates() function's code is moved into that function too. It seems safe to assume that PREFERRED_PROVIDER values only need to be spread to other multilibs when multilibs are in use. I don't think this directly affects any use cases that don't involve third-party or alternative toolchains. (From OE-Core rev: 513f72274460e54fd35dda5ef70fa42ba2b284f8) Signed-off-by: Peter Seebach <peter.seebach@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* classes/conf: Add eventmasks for event handlersRichard Purdie2013-06-141-0/+1
| | | | | | | | | | | Now that bitbake supports masking events for event handlers, lets use this so event handlers are only called for events they care about. This lets us simplify the code indentation a bit at least as well as mildly improving the event handling performance. (From OE-Core rev: bff73743280f9eafebe4591f7368ead91a4eb74d) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* classes/recipes/lib: Fix various python whitespace issuesRichard Purdie2013-05-091-1/+1
| | | | | | | | | There are some left over tab characters in the python functions. This removes them and resolves python 3 errors. (From OE-Core rev: fafeb381c48291fa65c634c01c244843c8d7fad3) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* multilib: fix allarch/kernel/module-base multilib issuesConstantin Musca2012-12-311-1/+4
| | | | | | | | | | | | | | | | | | | | | | | - skip the non-packagegroup allarch recipes in multilib_virtclass_handler - extend PROVIDES/RPROVIDES for allarch recipes which are not packagegroups - use variants from MULTILIB_GLOBAL_VARIANTS (lib32 lib64 libx32) to create additional pkgdata files for multilib allarch: ${pkgdatadir}/${variant}-${PN} and ${pkgdatadir}/runtime/${variant}-${pkg} - use variants from MULTILIB_VARIANTS to create additional pkgdata files for multilib kernel/module-base recipes - add a sanity check to determine if the current multilib is in MULTILIB_GLOBAL_VARIANTS [YOCTO #2918] [YOCTO #3440] [YOCTO #3565] [YOCTO #3568] (From OE-Core rev: bc4da2573dfb59ea2fc4af359701818df20f7663) 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>
* packagedata/multilib: Fix search patch for multilib buildsRichard Purdie2012-09-261-0/+5
| | | | | | | | | | | The current multilib search path code for packagedata is flawed since it doesn't correctly handle changes in the TARGET_VENDOR/TARGET_OS that multilib may make. This patch enhances the code to correctly build the search paths so multilib packagedata is found correctly. (From OE-Core rev: f50c5d36b2da9b36d56d95a7d89404509a1a3e9b) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* multilib: Abstract class extension code into classextend.pyRichard Purdie2012-01-051-36/+12
| | | | | | (From OE-Core rev: 563828bad19a242bba9ce3db461bb5807037dfdf) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* multilib: remove the multilib handling to allarchDongxiao Xu2011-09-281-1/+1
| | | | | | | | | | | | | | | | | currently we have allarch type of recipes, which may still have architecture dependency, like x11-common. So we need to drop the handling to allarch in multilib case. Also remove the PV postfix in python-pygobject DEPENDS, since multilib code will treat a native package multilib capable. [YOCTO #1497] [YOCTO #1498] (From OE-Core rev: 64c0279e6b0d2325a326058476228360898550f3) Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* multilib_global.bbclass: Fix non-multilib package providesMark Hatle2011-09-211-5/+22
| | | | | | | | | | | | | | | In non-multilib packages, configured in a multilib configuration we need to adjust the system provides and rprovides to include the virtual multilib variant. This resolves a problem introduced in the 329d864f9bbf94ad3aae8df43d63fe10e4237e4f commit. Where "allarch" packages were suddenly providing all variants of an object. (From OE-Core rev: 66fa6b7e13fbcc5f75fb1b8aa3aedfbdbc148688) Signed-off-by: Mark Hatle <mark.hatle@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* multilib: Remove recipe from multilib.conf that inherits allarchDongxiao Xu2011-09-131-0/+4
| | | | | | | | | | | | | | | Recipes like update-rc.d and qemu-config inherit "allarch", thus we shouldn't add multilib BBCLASSEXTEND for them in multilib.conf. Besides, we need to add multilib packages as the RPROVIDER contents for those recipes, in order to avoid the NoProvider error when parsing. [YOCTO #1471] (From OE-Core rev: 329d864f9bbf94ad3aae8df43d63fe10e4237e4f) Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* multilib_global.bbclass: handle kernel-module-* for multilibDongxiao Xu2011-09-071-0/+2
| | | | | | | | | | | | | | bitbake would report failed dependency of kernel-module-* when testing multilib. kernel-module-* are recommended by some other recipes. Do not extend name for kernel-module-* related packages. [YOCTO #1456] (From OE-Core rev: 30ac343888dc801614922045b374537c6c54f312) Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* multilib: Only build one kernelRichard Purdie2011-09-021-0/+39
For a given system we only want one kernel to be built. This change makes the main kernel recipe provide all of the provides of the various enabled multilibs hence allowing it to fulfil all the appropriate dependencies. To make this work a global multilib class file needed to be created. This patch also enables this multi provider functionality for "allarch" packages. [YOCTO #1361] (From OE-Core rev: 2fd257f6c610624f05c8dd3fe1486364af04696f) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>