| Message ID | 20261001174220.3492439-3-workjagadeesh@gmail.com |
|---|---|
| State | New |
| Headers | show |
| Series | Add support to compile source for multilib in the eSDK | expand |
diff --git a/meta/classes-global/staging.bbclass b/meta/classes-global/staging.bbclass index 5833abebc8..74e3bf276b 100644 --- a/meta/classes-global/staging.bbclass +++ b/meta/classes-global/staging.bbclass @@ -204,6 +204,12 @@ def staging_populate_sysroot_dir(targetsysroot, nativesysroot, native, d): pkgarchs = ['${MACHINE_ARCH}'] pkgarchs = pkgarchs + list(reversed(d.getVar("PACKAGE_EXTRA_ARCHS").split())) pkgarchs.append('allarch') + multilibs = d.getVar('MULTILIB_VARIANTS').split() + if multilibs: + for ml in multilibs: + mltunes = d.getVar('DEFAULTTUNE:virtclass-multilib-%s' % ml) + if mltunes: + pkgarchs.append(mltunes) targetdir = targetsysroot bb.utils.mkdirhier(targetdir)
Since the multilib-DEFAULTTUNE is not part of <pkgarch> of staging_populate_sysroot_dir function, the SSTATE_MANFILEPREFIX files of multilib packages are not parsed and due to this multilib package files are not populated in the <eSDK_install_dir>/tmp/sysroots during the installation of the eSDK. Hence, the eSDK sysroots lacks header files required to compile source for multilib. For example: The header file bits/c++config.h given by lib32-gcc-runtime recipe, is not populated in the <eSDK_install_directory>/tmp/sysroots by the staging_populate_sysroot_dir function as <pkgarch> list does not contains multilib-DEFAULTTUNE (i.e 'x86' in case of qemux86-64). This change adds multilib-DEFAULTTUNE to <pkgarch> list and thereby parsing multilib SSTATE_MANFILEPREFIX files and populating multilib package files during the eSDK installation. Signed-off-by: Jagadeesh K <workjagadeesh@gmail.com> --- meta/classes-global/staging.bbclass | 6 ++++++ 1 file changed, 6 insertions(+)