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]]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to