meson use to cross compile a cross-file. This file is special for every build environment. So if you have a multilib SDK for aarch64 and arm the cpu_family and the cpu variable in the [HOST]-section of the cross-file must be set correctly.
Currently these variables are statically set to TARGET_ARCH during generation of the meson.cross.template file. Now the post-relocate scripts sets these variable for every environment. Signed-off-by: Christian Perkonig <[email protected]> --- meta/recipes-devtools/meson/meson/meson-setup.py | 11 ++++++++++- meta/recipes-devtools/meson/nativesdk-meson_0.55.1.bb | 8 +++++--- 2 files changed, 15 insertions(+), 4 deletions(-) diff --git a/meta/recipes-devtools/meson/meson/meson-setup.py b/meta/recipes-devtools/meson/meson/meson-setup.py index 808e2a062f..a6b716c731 100755 --- a/meta/recipes-devtools/meson/meson/meson-setup.py +++ b/meta/recipes-devtools/meson/meson/meson-setup.py @@ -7,6 +7,10 @@ import sys class Template(string.Template): delimiter = "@" + +class TemplateSingle(string.Template): + delimiter = "@@" + class Environ(): def __getitem__(self, name): val = os.environ[name] @@ -15,6 +19,10 @@ class Environ(): val = '[%s]' % val return val +class SingleEnv(): + def __getitem__(self, name): + return '%s' % os.environ[name] + try: sysroot = os.environ['OECORE_NATIVE_SYSROOT'] except KeyError: @@ -26,6 +34,7 @@ cross_file = os.path.join(sysroot, 'usr/share/meson/%smeson.cross' % os.environ[ with open(template_file) as in_file: template = in_file.read() - output = Template(template).substitute(Environ()) + s = TemplateSingle(template).substitute(SingleEnv()) + output = Template(s).substitute(Environ()) with open(cross_file, "w") as out_file: out_file.write(output) diff --git a/meta/recipes-devtools/meson/nativesdk-meson_0.55.1.bb b/meta/recipes-devtools/meson/nativesdk-meson_0.55.1.bb index 3c8c4fbc37..67fdd2235d 100644 --- a/meta/recipes-devtools/meson/nativesdk-meson_0.55.1.bb +++ b/meta/recipes-devtools/meson/nativesdk-meson_0.55.1.bb @@ -30,6 +30,7 @@ c = @CC cpp = @CXX ar = @AR nm = @NM +ld = @LD strip = @STRIP pkgconfig = 'pkg-config' @@ -40,10 +41,11 @@ c_link_args = @LDFLAGS cpp_args = @CPPFLAGS cpp_link_args = @LDFLAGS +# Host configuration form the meson point of view [host_machine] -system = '${SDK_OS}' -cpu_family = '${SDK_ARCH}' -cpu = '${SDK_ARCH}' +system = '${TARGET_OS}' +cpu_family = '@@ARCH' +cpu = '@@OECORE_TARGET_ARCH' endian = '${@meson_endian("SDK", d)}' EOF -- 2.25.1
-=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#142650): https://lists.openembedded.org/g/openembedded-core/message/142650 Mute This Topic: https://lists.openembedded.org/mt/76927521/21656 Group Owner: [email protected] Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [[email protected]] -=-=-=-=-=-=-=-=-=-=-=-
