diff options
author | Guillaume Deroire <guillaume.deroire@hach.com> | 2022-09-07 22:56:59 +0200 |
---|---|---|
committer | github-actions[bot] <github-actions[bot]@users.noreply.github.com> | 2022-10-05 16:49:07 +0000 |
commit | 0f8777c13d11aae58bb2796dda40749d4e47106e (patch) | |
tree | 1c97ecccfa057881d5114a6bd5d505e4bd0d2f85 | |
parent | 28ae8f75e667becda70cc499df5e26d9163af4b6 (diff) | |
download | meta-freescale-0f8777c13d11aae58bb2796dda40749d4e47106e.tar.gz |
classes/fsl-dynamic-packagearch: Add multilib supportbackport-1213-to-kirkstone
Currently, the class doesn't support multilib image/SDK generation for packages
built for MACHINE_SOCARCH with MULTILIB support and this commit fixes this.
To reproduce the error, add to local.conf:
require conf/multilib.conf
MULTILIBS = "multilib:lib32"
DEFAULTTUNE:virtclass-multilib-lib32 = "armv7athf-neon-vfpv4"
IMAGE_INSTALL_append = "lib32-libusb1"
Build image with: 'bitbake core-image-minimal'
The build will fail during do_rootfs/do_populate_sdk on lib32-wayland-protocols package.
(cherry picked from commit 61b81118e3cbc699f78e22752f5c5938a8b09d77)
-rw-r--r-- | classes/fsl-dynamic-packagearch.bbclass | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/classes/fsl-dynamic-packagearch.bbclass b/classes/fsl-dynamic-packagearch.bbclass index 9fcf37be..6cb0c0a9 100644 --- a/classes/fsl-dynamic-packagearch.bbclass +++ b/classes/fsl-dynamic-packagearch.bbclass | |||
@@ -54,6 +54,17 @@ python __anonymous () { | |||
54 | if not machine_socarch in cur_package_archs: | 54 | if not machine_socarch in cur_package_archs: |
55 | d.appendVar("PACKAGE_EXTRA_ARCHS", " %s" % machine_socarch) | 55 | d.appendVar("PACKAGE_EXTRA_ARCHS", " %s" % machine_socarch) |
56 | 56 | ||
57 | multilib_variants = (d.getVar("MULTILIB_VARIANTS") or "").split() | ||
58 | for variant in multilib_variants: | ||
59 | defaulttune = d.getVar("DEFAULTTUNE:virtclass-multilib-" + variant) | ||
60 | if defaulttune: | ||
61 | package_extra_archs_tune_archs = (d.getVar("PACKAGE_EXTRA_ARCHS:tune-" + defaulttune) or "").split() | ||
62 | arch_suffix = d.getVar("MACHINE_SOCARCH_SUFFIX") | ||
63 | for arch in package_extra_archs_tune_archs: | ||
64 | socarch = arch + arch_suffix | ||
65 | if not socarch in cur_package_archs: | ||
66 | d.appendVar("PACKAGE_EXTRA_ARCHS", " %s" % socarch ) | ||
67 | |||
57 | if d.getVar("TUNE_ARCH") == "arm": | 68 | if d.getVar("TUNE_ARCH") == "arm": |
58 | # For ARM we have two possible machine_socarch values, one for the arm and one for the thumb instruction set | 69 | # For ARM we have two possible machine_socarch values, one for the arm and one for the thumb instruction set |
59 | # add the other value to extra archs also, so that a image recipe searches both for packages. | 70 | # add the other value to extra archs also, so that a image recipe searches both for packages. |