diff options
author | Tom Hochstein <tom.hochstein@oss.nxp.com> | 2025-05-10 09:43:52 +0100 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2025-05-12 22:01:55 +0100 |
commit | 12bcad4ea5a9d413a08375cc14c56d3158466d0c (patch) | |
tree | 1e56487fb8a8fe7d2340e449fbef9ea6a61a73fe | |
parent | 4f8de83f4ffa5a9d20dc80073d6d774f8dce10db (diff) | |
download | poky-12bcad4ea5a9d413a08375cc14c56d3158466d0c.tar.gz |
toolchain-scripts: Export meson settings for SDK builds
Create a new set of exports for the Meson `host_machine` cross settings.
This allows the target cross file to be created correctly from
meson.cross.template and aligns with meson.bbclass.
Note, one might think that HOST_OS and HOST_ARCH would be appropriate as
inputs here, aligning nicely with the Meson naming. That turns out to be
incorrect since the script is generated in a native/nativesdk build with
HOST_OS and HOST_ARCH set for the "build machine", not the "host
machine", using the Meson terminology. See
https://mesonbuild.com/Cross-compilation.html.
Fixes: [YOCTO #15485]
(From OE-Core rev: 9e742a0a9078f4a19a5edbfa51f22f7b71992188)
(From OE-Core rev: f2f898e36feb3bd489edda451e71b11bf69940b9)
Signed-off-by: Tom Hochstein <tom.hochstein@oss.nxp.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rw-r--r-- | meta/classes-recipe/toolchain-scripts.bbclass | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/meta/classes-recipe/toolchain-scripts.bbclass b/meta/classes-recipe/toolchain-scripts.bbclass index 9e4320f876..3053cd0f1f 100644 --- a/meta/classes-recipe/toolchain-scripts.bbclass +++ b/meta/classes-recipe/toolchain-scripts.bbclass | |||
@@ -4,7 +4,7 @@ | |||
4 | # SPDX-License-Identifier: MIT | 4 | # SPDX-License-Identifier: MIT |
5 | # | 5 | # |
6 | 6 | ||
7 | inherit toolchain-scripts-base siteinfo kernel-arch | 7 | inherit toolchain-scripts-base siteinfo kernel-arch meson-routines |
8 | 8 | ||
9 | # We want to be able to change the value of MULTIMACH_TARGET_SYS, because it | 9 | # We want to be able to change the value of MULTIMACH_TARGET_SYS, because it |
10 | # doesn't always match our expectations... but we default to the stock value | 10 | # doesn't always match our expectations... but we default to the stock value |
@@ -72,6 +72,10 @@ toolchain_create_sdk_env_script () { | |||
72 | echo 'export OECORE_TARGET_OS="${TARGET_OS}"' >>$script | 72 | echo 'export OECORE_TARGET_OS="${TARGET_OS}"' >>$script |
73 | echo 'export OECORE_TARGET_BITS="${@siteinfo_with_prefix(d, 'bit-')}"' >>$script | 73 | echo 'export OECORE_TARGET_BITS="${@siteinfo_with_prefix(d, 'bit-')}"' >>$script |
74 | echo 'export OECORE_TARGET_ENDIAN="${@siteinfo_with_prefix(d, 'endian-')}"' >>$script | 74 | echo 'export OECORE_TARGET_ENDIAN="${@siteinfo_with_prefix(d, 'endian-')}"' >>$script |
75 | echo 'export OECORE_MESON_HOST_SYSTEM="${@meson_operating_system('TARGET_OS', d)}"' >>$script | ||
76 | echo 'export OECORE_MESON_HOST_CPU_FAMILY="${@meson_cpu_family('TARGET_ARCH', d)}"' >>$script | ||
77 | echo 'export OECORE_MESON_HOST_CPU="${TARGET_ARCH}"' >>$script | ||
78 | echo 'export OECORE_MESON_HOST_ENDIAN="${@meson_endian('TARGET', d)}"' >>$script | ||
75 | 79 | ||
76 | echo 'unset command_not_found_handle' >> $script | 80 | echo 'unset command_not_found_handle' >> $script |
77 | 81 | ||
@@ -101,6 +105,10 @@ toolchain_create_tree_env_script () { | |||
101 | echo 'export OECORE_TARGET_OS="${TARGET_OS}"' >>$script | 105 | echo 'export OECORE_TARGET_OS="${TARGET_OS}"' >>$script |
102 | echo 'export OECORE_TARGET_BITS="${@siteinfo_with_prefix(d, 'bit-')}"' >>$script | 106 | echo 'export OECORE_TARGET_BITS="${@siteinfo_with_prefix(d, 'bit-')}"' >>$script |
103 | echo 'export OECORE_TARGET_ENDIAN="${@siteinfo_with_prefix(d, 'endian-')}"' >>$script | 107 | echo 'export OECORE_TARGET_ENDIAN="${@siteinfo_with_prefix(d, 'endian-')}"' >>$script |
108 | echo 'export OECORE_MESON_HOST_SYSTEM="${@meson_operating_system('TARGET_OS', d)}"' >>$script | ||
109 | echo 'export OECORE_MESON_HOST_CPU_FAMILY="${@meson_cpu_family('TARGET_ARCH', d)}"' >>$script | ||
110 | echo 'export OECORE_MESON_HOST_CPU="${TARGET_ARCH}"' >>$script | ||
111 | echo 'export OECORE_MESON_HOST_ENDIAN="${@meson_endian('TARGET', d)}"' >>$script | ||
104 | 112 | ||
105 | toolchain_shared_env_script | 113 | toolchain_shared_env_script |
106 | 114 | ||