public inbox for openembedded-core@lists.openembedded.org
 help / color / mirror / Atom feed
* [PATCH v5 1/5] toolchain-scripts: Add Meson settings for Yocto build SDK
@ 2025-04-07 21:18 Tom Hochstein
  2025-04-07 21:18 ` [PATCH v5 2/5] toolchain-scripts: Export meson settings for SDK builds Tom Hochstein
                   ` (3 more replies)
  0 siblings, 4 replies; 14+ messages in thread
From: Tom Hochstein @ 2025-04-07 21:18 UTC (permalink / raw)
  To: openembedded-core; +Cc: Tom Hochstein

The Meson settings for the standalone SDK also need to be available for
the Yocto build SDK, a.k.a. meta-ide-support.

Signed-off-by: Tom Hochstein <tom.hochstein@oss.nxp.com>
---
 meta/classes-recipe/toolchain-scripts.bbclass | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/meta/classes-recipe/toolchain-scripts.bbclass b/meta/classes-recipe/toolchain-scripts.bbclass
index b59a295abc..9e4320f876 100644
--- a/meta/classes-recipe/toolchain-scripts.bbclass
+++ b/meta/classes-recipe/toolchain-scripts.bbclass
@@ -99,6 +99,8 @@ toolchain_create_tree_env_script () {
 	echo 'export OECORE_BASELIB="${baselib}"' >> $script
 	echo 'export OECORE_TARGET_ARCH="${TARGET_ARCH}"' >>$script
 	echo 'export OECORE_TARGET_OS="${TARGET_OS}"' >>$script
+	echo 'export OECORE_TARGET_BITS="${@siteinfo_with_prefix(d, 'bit-')}"' >>$script
+	echo 'export OECORE_TARGET_ENDIAN="${@siteinfo_with_prefix(d, 'endian-')}"' >>$script
 
 	toolchain_shared_env_script
 
-- 
2.34.1



^ permalink raw reply related	[flat|nested] 14+ messages in thread

* [PATCH v5 2/5] toolchain-scripts: Export meson settings for SDK builds
  2025-04-07 21:18 [PATCH v5 1/5] toolchain-scripts: Add Meson settings for Yocto build SDK Tom Hochstein
@ 2025-04-07 21:18 ` Tom Hochstein
  2025-04-07 21:18 ` [PATCH v5 3/5] meson: Fix host_machine setting for native cross-file Tom Hochstein
                   ` (2 subsequent siblings)
  3 siblings, 0 replies; 14+ messages in thread
From: Tom Hochstein @ 2025-04-07 21:18 UTC (permalink / raw)
  To: openembedded-core; +Cc: Tom Hochstein

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]
Signed-off-by: Tom Hochstein <tom.hochstein@oss.nxp.com>
---
 meta/classes-recipe/toolchain-scripts.bbclass | 10 +++++++++-
 1 file changed, 9 insertions(+), 1 deletion(-)

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 @@
 # SPDX-License-Identifier: MIT
 #
 
-inherit toolchain-scripts-base siteinfo kernel-arch
+inherit toolchain-scripts-base siteinfo kernel-arch meson-routines
 
 # We want to be able to change the value of MULTIMACH_TARGET_SYS, because it
 # doesn't always match our expectations... but we default to the stock value
@@ -72,6 +72,10 @@ toolchain_create_sdk_env_script () {
 	echo 'export OECORE_TARGET_OS="${TARGET_OS}"' >>$script
 	echo 'export OECORE_TARGET_BITS="${@siteinfo_with_prefix(d, 'bit-')}"' >>$script
 	echo 'export OECORE_TARGET_ENDIAN="${@siteinfo_with_prefix(d, 'endian-')}"' >>$script
+	echo 'export OECORE_MESON_HOST_SYSTEM="${@meson_operating_system('TARGET_OS', d)}"' >>$script
+	echo 'export OECORE_MESON_HOST_CPU_FAMILY="${@meson_cpu_family('TARGET_ARCH', d)}"' >>$script
+	echo 'export OECORE_MESON_HOST_CPU="${TARGET_ARCH}"' >>$script
+	echo 'export OECORE_MESON_HOST_ENDIAN="${@meson_endian('TARGET', d)}"' >>$script
 
 	echo 'unset command_not_found_handle' >> $script
 
@@ -101,6 +105,10 @@ toolchain_create_tree_env_script () {
 	echo 'export OECORE_TARGET_OS="${TARGET_OS}"' >>$script
 	echo 'export OECORE_TARGET_BITS="${@siteinfo_with_prefix(d, 'bit-')}"' >>$script
 	echo 'export OECORE_TARGET_ENDIAN="${@siteinfo_with_prefix(d, 'endian-')}"' >>$script
+	echo 'export OECORE_MESON_HOST_SYSTEM="${@meson_operating_system('TARGET_OS', d)}"' >>$script
+	echo 'export OECORE_MESON_HOST_CPU_FAMILY="${@meson_cpu_family('TARGET_ARCH', d)}"' >>$script
+	echo 'export OECORE_MESON_HOST_CPU="${TARGET_ARCH}"' >>$script
+	echo 'export OECORE_MESON_HOST_ENDIAN="${@meson_endian('TARGET', d)}"' >>$script
 
 	toolchain_shared_env_script
 
-- 
2.34.1



^ permalink raw reply related	[flat|nested] 14+ messages in thread

* [PATCH v5 3/5] meson: Fix host_machine setting for native cross-file
  2025-04-07 21:18 [PATCH v5 1/5] toolchain-scripts: Add Meson settings for Yocto build SDK Tom Hochstein
  2025-04-07 21:18 ` [PATCH v5 2/5] toolchain-scripts: Export meson settings for SDK builds Tom Hochstein
@ 2025-04-07 21:18 ` Tom Hochstein
  2025-04-07 21:18 ` [PATCH v5 4/5] oeqa/sdk/meson: improve test to validate host/build target assignments Tom Hochstein
  2025-04-07 21:18 ` [PATCH v5 5/5] meson: Allow user to override setup command options Tom Hochstein
  3 siblings, 0 replies; 14+ messages in thread
From: Tom Hochstein @ 2025-04-07 21:18 UTC (permalink / raw)
  To: openembedded-core; +Cc: Tom Hochstein

For native and nativesdk, the meson cross-file settings for
`host_machine` are incorrectly set for the build machine, not the
"machine on which the compiled binary will run". See
https://mesonbuild.com/Cross-compilation.html.

Fixes: [YOCTO #15485]
Signed-off-by: Tom Hochstein <tom.hochstein@oss.nxp.com>
---
 meta/recipes-devtools/meson/meson_1.7.0.bb | 16 ++++------------
 1 file changed, 4 insertions(+), 12 deletions(-)

diff --git a/meta/recipes-devtools/meson/meson_1.7.0.bb b/meta/recipes-devtools/meson/meson_1.7.0.bb
index 44872a5f7b..3e89669807 100644
--- a/meta/recipes-devtools/meson/meson_1.7.0.bb
+++ b/meta/recipes-devtools/meson/meson_1.7.0.bb
@@ -118,18 +118,14 @@ needs_exe_wrapper = true
 sys_root = @OECORE_TARGET_SYSROOT
 
 [host_machine]
-system = '$host_system'
-cpu_family = '$host_cpu_family'
-cpu = '$host_cpu'
-endian = '$host_endian'
+system = @OECORE_MESON_HOST_SYSTEM
+cpu_family = @OECORE_MESON_HOST_CPU_FAMILY
+cpu = @OECORE_MESON_HOST_CPU
+endian = @OECORE_MESON_HOST_ENDIAN
 EOF
 }
 
 do_install:append:class-nativesdk() {
-    host_system=${SDK_OS}
-    host_cpu_family=${@meson_cpu_family("SDK_ARCH", d)}
-    host_cpu=${SDK_ARCH}
-    host_endian=${@meson_endian("SDK", d)}
     install_templates
 
     install -d ${D}${SDKPATHNATIVE}/post-relocate-setup.d
@@ -143,10 +139,6 @@ do_install:append:class-nativesdk() {
 FILES:${PN}:append:class-nativesdk = "${datadir}/meson ${SDKPATHNATIVE}"
 
 do_install:append:class-native() {
-    host_system=${HOST_OS}
-    host_cpu_family=${@meson_cpu_family("HOST_ARCH", d)}
-    host_cpu=${HOST_ARCH}
-    host_endian=${@meson_endian("HOST", d)}
     install_templates
 
     install -d ${D}${datadir}/post-relocate-setup.d
-- 
2.34.1



^ permalink raw reply related	[flat|nested] 14+ messages in thread

* [PATCH v5 4/5] oeqa/sdk/meson: improve test to validate host/build target assignments
  2025-04-07 21:18 [PATCH v5 1/5] toolchain-scripts: Add Meson settings for Yocto build SDK Tom Hochstein
  2025-04-07 21:18 ` [PATCH v5 2/5] toolchain-scripts: Export meson settings for SDK builds Tom Hochstein
  2025-04-07 21:18 ` [PATCH v5 3/5] meson: Fix host_machine setting for native cross-file Tom Hochstein
@ 2025-04-07 21:18 ` Tom Hochstein
  2025-04-08 13:37   ` [OE-core] " Mathieu Dubois-Briand
  2025-04-07 21:18 ` [PATCH v5 5/5] meson: Allow user to override setup command options Tom Hochstein
  3 siblings, 1 reply; 14+ messages in thread
From: Tom Hochstein @ 2025-04-07 21:18 UTC (permalink / raw)
  To: openembedded-core; +Cc: Ross Burton, Tom Hochstein

From: Ross Burton <ross.burton@arm.com>

Use 'meson introspect' to dump JSON describing the build configuration
and validate that the build and host architectures are correctly set in
the meson.cross file.

Also instead of calling ninja directly, call the relevant meson commands.

Fixes: [YOCTO #15485]
Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Tom Hochstein <tom.hochstein@oss.nxp.com>
---
 meta/lib/oeqa/sdk/cases/meson.py | 18 +++++++++++++-----
 1 file changed, 13 insertions(+), 5 deletions(-)

diff --git a/meta/lib/oeqa/sdk/cases/meson.py b/meta/lib/oeqa/sdk/cases/meson.py
index 1edf78720a..407b94d242 100644
--- a/meta/lib/oeqa/sdk/cases/meson.py
+++ b/meta/lib/oeqa/sdk/cases/meson.py
@@ -4,6 +4,7 @@
 # SPDX-License-Identifier: MIT
 #
 
+import json
 import os
 import subprocess
 import tempfile
@@ -39,10 +40,17 @@ class MesonTest(OESDKTestCase):
             self.assertTrue(os.path.isdir(dirs["source"]))
             os.makedirs(dirs["build"])
 
-            log = self._run("meson --warnlevel 1 -Degl=no -Dglx=no -Dx11=false {build} {source}".format(**dirs))
-            # Check that Meson thinks we're doing a cross build and not a native
-            self.assertIn("Build type: cross build", log)
-            self._run("ninja -C {build} -v".format(**dirs))
-            self._run("DESTDIR={install} ninja -C {build} -v install".format(**dirs))
+            log = self._run("meson setup --warnlevel 1 -Degl=no -Dglx=no -Dx11=false {build} {source}".format(**dirs))
+
+            # Check that the host (gcc) and build (cross-gcc) compilers are different
+            data = json.loads(self._run("meson introspect --compilers {build}".format(**dirs)))
+            self.assertNotEqual(data["build"]["c"]["exelist"], data["host"]["c"]["exelist"])
+            # Check that the system architectures were set correctly
+            data = json.loads(self._run("meson introspect --machines {build}".format(**dirs)))
+            self.assertEqual(data["build"]["cpu"], self.td["SDK_ARCH"])
+            self.assertEqual(data["host"]["cpu"], self.td["HOST_ARCH"])
+
+            self._run("meson compile -C {build} -v".format(**dirs))
+            self._run("meson install -C {build} --destdir {install}".format(**dirs))
 
             self.check_elf(os.path.join(dirs["install"], "usr", "local", "lib", "libepoxy.so"))
-- 
2.34.1



^ permalink raw reply related	[flat|nested] 14+ messages in thread

* [PATCH v5 5/5] meson: Allow user to override setup command options
  2025-04-07 21:18 [PATCH v5 1/5] toolchain-scripts: Add Meson settings for Yocto build SDK Tom Hochstein
                   ` (2 preceding siblings ...)
  2025-04-07 21:18 ` [PATCH v5 4/5] oeqa/sdk/meson: improve test to validate host/build target assignments Tom Hochstein
@ 2025-04-07 21:18 ` Tom Hochstein
  3 siblings, 0 replies; 14+ messages in thread
From: Tom Hochstein @ 2025-04-07 21:18 UTC (permalink / raw)
  To: openembedded-core; +Cc: Tom Hochstein

The user cannot override the setup command options --cross-file and
--native-file because the meson-wrapper places these options on the
command line after the user options. This problem was noticed when
trying to build with an SDK using a custom cross-file.

Signed-off-by: Tom Hochstein <tom.hochstein@oss.nxp.com>
---
 meta/recipes-devtools/meson/meson/meson-wrapper | 15 +++++++++++----
 1 file changed, 11 insertions(+), 4 deletions(-)

diff --git a/meta/recipes-devtools/meson/meson/meson-wrapper b/meta/recipes-devtools/meson/meson/meson-wrapper
index 7455985297..3aa1a93520 100755
--- a/meta/recipes-devtools/meson/meson/meson-wrapper
+++ b/meta/recipes-devtools/meson/meson/meson-wrapper
@@ -14,8 +14,14 @@ fi
 unset CC CXX CPP LD AR NM STRIP
 
 case "$1" in
-setup|configure|dist|install|introspect|init|test|wrap|subprojects|rewrite|compile|devenv|env2mfile|help) MESON_CMD="$1" ;;
-*) echo meson-wrapper: Implicit setup command assumed; MESON_CMD=setup ;;
+setup|configure|dist|install|introspect|init|test|wrap|subprojects|rewrite|compile|devenv|env2mfile|help)
+    MESON_CMD="$1"
+    shift
+    ;;
+*)
+    MESON_CMD=setup
+    echo meson-wrapper: Implicit setup command assumed
+    ;;
 esac
 
 if [ "$MESON_CMD" = "setup" ]; then
@@ -27,5 +33,6 @@ if [ "$MESON_CMD" = "setup" ]; then
 fi
 
 exec "$OECORE_NATIVE_SYSROOT/usr/bin/meson.real" \
-    "$@" \
-    $MESON_SETUP_OPTS
+    $MESON_CMD \
+    $MESON_SETUP_OPTS \
+    "$@"
-- 
2.34.1



^ permalink raw reply related	[flat|nested] 14+ messages in thread

* Re: [OE-core] [PATCH v5 4/5] oeqa/sdk/meson: improve test to validate host/build target assignments
  2025-04-07 21:18 ` [PATCH v5 4/5] oeqa/sdk/meson: improve test to validate host/build target assignments Tom Hochstein
@ 2025-04-08 13:37   ` Mathieu Dubois-Briand
  2025-04-08 15:10     ` Tom Hochstein
       [not found]     ` <183460753CA35884.31078@lists.openembedded.org>
  0 siblings, 2 replies; 14+ messages in thread
From: Mathieu Dubois-Briand @ 2025-04-08 13:37 UTC (permalink / raw)
  To: tom.hochstein, openembedded-core; +Cc: Ross Burton

On Mon Apr 7, 2025 at 11:18 PM CEST, Tom Hochstein via lists.openembedded.org wrote:
> From: Ross Burton <ross.burton@arm.com>
>
> Use 'meson introspect' to dump JSON describing the build configuration
> and validate that the build and host architectures are correctly set in
> the meson.cross file.
>
> Also instead of calling ninja directly, call the relevant meson commands.
>
> Fixes: [YOCTO #15485]
> Signed-off-by: Ross Burton <ross.burton@arm.com>
> Signed-off-by: Tom Hochstein <tom.hochstein@oss.nxp.com>
> ---
>  meta/lib/oeqa/sdk/cases/meson.py | 18 +++++++++++++-----
>  1 file changed, 13 insertions(+), 5 deletions(-)
>
> diff --git a/meta/lib/oeqa/sdk/cases/meson.py b/meta/lib/oeqa/sdk/cases/meson.py
> index 1edf78720a..407b94d242 100644
> --- a/meta/lib/oeqa/sdk/cases/meson.py
> +++ b/meta/lib/oeqa/sdk/cases/meson.py
> @@ -4,6 +4,7 @@
>  # SPDX-License-Identifier: MIT
>  #
>  
> +import json
>  import os
>  import subprocess
>  import tempfile
> @@ -39,10 +40,17 @@ class MesonTest(OESDKTestCase):
>              self.assertTrue(os.path.isdir(dirs["source"]))
>              os.makedirs(dirs["build"])
>  
> -            log = self._run("meson --warnlevel 1 -Degl=no -Dglx=no -Dx11=false {build} {source}".format(**dirs))
> -            # Check that Meson thinks we're doing a cross build and not a native
> -            self.assertIn("Build type: cross build", log)
> -            self._run("ninja -C {build} -v".format(**dirs))
> -            self._run("DESTDIR={install} ninja -C {build} -v install".format(**dirs))
> +            log = self._run("meson setup --warnlevel 1 -Degl=no -Dglx=no -Dx11=false {build} {source}".format(**dirs))
> +
> +            # Check that the host (gcc) and build (cross-gcc) compilers are different
> +            data = json.loads(self._run("meson introspect --compilers {build}".format(**dirs)))
> +            self.assertNotEqual(data["build"]["c"]["exelist"], data["host"]["c"]["exelist"])
> +            # Check that the system architectures were set correctly
> +            data = json.loads(self._run("meson introspect --machines {build}".format(**dirs)))
> +            self.assertEqual(data["build"]["cpu"], self.td["SDK_ARCH"])
> +            self.assertEqual(data["host"]["cpu"], self.td["HOST_ARCH"])
> +
> +            self._run("meson compile -C {build} -v".format(**dirs))
> +            self._run("meson install -C {build} --destdir {install}".format(**dirs))
>  
>              self.check_elf(os.path.join(dirs["install"], "usr", "local", "lib", "libepoxy.so"))

Hi,

Thanks for the new version, but we have a new error now:

Traceback (most recent call last):
  File "/srv/pokybuild/yocto-worker/qemux86/build/meta/lib/oeqa/sdk/cases/meson.py", line 47, in test_epoxy
    self.assertNotEqual(data["build"]["c"]["exelist"], data["host"]["c"]["exelist"])
                        ~~~~~~~~~~~~~^^^^^
KeyError: 'c'

https://autobuilder.yoctoproject.org/valkyrie/#/builders/30/builds/1330

Can you have a look at this please?

-- 
Mathieu Dubois-Briand, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com



^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [OE-core] [PATCH v5 4/5] oeqa/sdk/meson: improve test to validate host/build target assignments
  2025-04-08 13:37   ` [OE-core] " Mathieu Dubois-Briand
@ 2025-04-08 15:10     ` Tom Hochstein
       [not found]     ` <183460753CA35884.31078@lists.openembedded.org>
  1 sibling, 0 replies; 14+ messages in thread
From: Tom Hochstein @ 2025-04-08 15:10 UTC (permalink / raw)
  To: Mathieu Dubois-Briand, openembedded-core, Ross Burton

On 4/8/2025 8:37 AM, Mathieu Dubois-Briand wrote:
> [You don't often get email from mathieu.dubois-briand@bootlin.com. Learn why this is important at https://aka.ms/LearnAboutSenderIdentification ]
> 
> On Mon Apr 7, 2025 at 11:18 PM CEST, Tom Hochstein via lists.openembedded.org wrote:
>> From: Ross Burton <ross.burton@arm.com>
>>
>> Use 'meson introspect' to dump JSON describing the build configuration
>> and validate that the build and host architectures are correctly set in
>> the meson.cross file.
>>
>> Also instead of calling ninja directly, call the relevant meson commands.
>>
>> Fixes: [YOCTO #15485]
>> Signed-off-by: Ross Burton <ross.burton@arm.com>
>> Signed-off-by: Tom Hochstein <tom.hochstein@oss.nxp.com>
>> ---
>>   meta/lib/oeqa/sdk/cases/meson.py | 18 +++++++++++++-----
>>   1 file changed, 13 insertions(+), 5 deletions(-)
>>
>> diff --git a/meta/lib/oeqa/sdk/cases/meson.py b/meta/lib/oeqa/sdk/cases/meson.py
>> index 1edf78720a..407b94d242 100644
>> --- a/meta/lib/oeqa/sdk/cases/meson.py
>> +++ b/meta/lib/oeqa/sdk/cases/meson.py
>> @@ -4,6 +4,7 @@
>>   # SPDX-License-Identifier: MIT
>>   #
>>
>> +import json
>>   import os
>>   import subprocess
>>   import tempfile
>> @@ -39,10 +40,17 @@ class MesonTest(OESDKTestCase):
>>               self.assertTrue(os.path.isdir(dirs["source"]))
>>               os.makedirs(dirs["build"])
>>
>> -            log = self._run("meson --warnlevel 1 -Degl=no -Dglx=no -Dx11=false {build} {source}".format(**dirs))
>> -            # Check that Meson thinks we're doing a cross build and not a native
>> -            self.assertIn("Build type: cross build", log)
>> -            self._run("ninja -C {build} -v".format(**dirs))
>> -            self._run("DESTDIR={install} ninja -C {build} -v install".format(**dirs))
>> +            log = self._run("meson setup --warnlevel 1 -Degl=no -Dglx=no -Dx11=false {build} {source}".format(**dirs))
>> +
>> +            # Check that the host (gcc) and build (cross-gcc) compilers are different
>> +            data = json.loads(self._run("meson introspect --compilers {build}".format(**dirs)))
>> +            self.assertNotEqual(data["build"]["c"]["exelist"], data["host"]["c"]["exelist"])
>> +            # Check that the system architectures were set correctly
>> +            data = json.loads(self._run("meson introspect --machines {build}".format(**dirs)))
>> +            self.assertEqual(data["build"]["cpu"], self.td["SDK_ARCH"])
>> +            self.assertEqual(data["host"]["cpu"], self.td["HOST_ARCH"])
>> +
>> +            self._run("meson compile -C {build} -v".format(**dirs))
>> +            self._run("meson install -C {build} --destdir {install}".format(**dirs))
>>
>>               self.check_elf(os.path.join(dirs["install"], "usr", "local", "lib", "libepoxy.so"))
> 
> Hi,
> 
> Thanks for the new version, but we have a new error now:
> 
> Traceback (most recent call last):
>    File "/srv/pokybuild/yocto-worker/qemux86/build/meta/lib/oeqa/sdk/cases/meson.py", line 47, in test_epoxy
>      self.assertNotEqual(data["build"]["c"]["exelist"], data["host"]["c"]["exelist"])
>                          ~~~~~~~~~~~~~^^^^^
> KeyError: 'c'

Thanks, Mathieu.

Ross, can you have a look?

> 
> https://autobuilder.yoctoproject.org/valkyrie/#/builders/30/builds/1330
> 
> Can you have a look at this please?
> 
> --
> Mathieu Dubois-Briand, Bootlin
> Embedded Linux and Kernel engineering
> https://bootlin.com
> 



^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [OE-core] [PATCH v5 4/5] oeqa/sdk/meson: improve test to validate host/build target assignments
       [not found]     ` <183460753CA35884.31078@lists.openembedded.org>
@ 2025-04-10 13:28       ` Tom Hochstein
       [not found]       ` <1834F816ACB44615.7383@lists.openembedded.org>
  1 sibling, 0 replies; 14+ messages in thread
From: Tom Hochstein @ 2025-04-10 13:28 UTC (permalink / raw)
  To: openembedded-core

On 4/8/2025 10:10 AM, Tom Hochstein via lists.openembedded.org wrote:
> On 4/8/2025 8:37 AM, Mathieu Dubois-Briand wrote:
>> [You don't often get email from mathieu.dubois-briand@bootlin.com. 
>> Learn why this is important at 
>> https://aka.ms/LearnAboutSenderIdentification ]
>>
>> On Mon Apr 7, 2025 at 11:18 PM CEST, Tom Hochstein via 
>> lists.openembedded.org wrote:
>>> From: Ross Burton <ross.burton@arm.com>
>>>
>>> Use 'meson introspect' to dump JSON describing the build configuration
>>> and validate that the build and host architectures are correctly set in
>>> the meson.cross file.
>>>
>>> Also instead of calling ninja directly, call the relevant meson 
>>> commands.
>>>
>>> Fixes: [YOCTO #15485]
>>> Signed-off-by: Ross Burton <ross.burton@arm.com>
>>> Signed-off-by: Tom Hochstein <tom.hochstein@oss.nxp.com>
>>> ---
>>>   meta/lib/oeqa/sdk/cases/meson.py | 18 +++++++++++++-----
>>>   1 file changed, 13 insertions(+), 5 deletions(-)
>>>
>>> diff --git a/meta/lib/oeqa/sdk/cases/meson.py 
>>> b/meta/lib/oeqa/sdk/cases/meson.py
>>> index 1edf78720a..407b94d242 100644
>>> --- a/meta/lib/oeqa/sdk/cases/meson.py
>>> +++ b/meta/lib/oeqa/sdk/cases/meson.py
>>> @@ -4,6 +4,7 @@
>>>   # SPDX-License-Identifier: MIT
>>>   #
>>>
>>> +import json
>>>   import os
>>>   import subprocess
>>>   import tempfile
>>> @@ -39,10 +40,17 @@ class MesonTest(OESDKTestCase):
>>>               self.assertTrue(os.path.isdir(dirs["source"]))
>>>               os.makedirs(dirs["build"])
>>>
>>> -            log = self._run("meson --warnlevel 1 -Degl=no -Dglx=no 
>>> -Dx11=false {build} {source}".format(**dirs))
>>> -            # Check that Meson thinks we're doing a cross build and 
>>> not a native
>>> -            self.assertIn("Build type: cross build", log)
>>> -            self._run("ninja -C {build} -v".format(**dirs))
>>> -            self._run("DESTDIR={install} ninja -C {build} -v 
>>> install".format(**dirs))
>>> +            log = self._run("meson setup --warnlevel 1 -Degl=no 
>>> -Dglx=no -Dx11=false {build} {source}".format(**dirs))
>>> +
>>> +            # Check that the host (gcc) and build (cross-gcc) 
>>> compilers are different
>>> +            data = json.loads(self._run("meson introspect 
>>> --compilers {build}".format(**dirs)))
>>> +            self.assertNotEqual(data["build"]["c"]["exelist"], 
>>> data["host"]["c"]["exelist"])
>>> +            # Check that the system architectures were set correctly
>>> +            data = json.loads(self._run("meson introspect --machines 
>>> {build}".format(**dirs)))
>>> +            self.assertEqual(data["build"]["cpu"], self.td["SDK_ARCH"])
>>> +            self.assertEqual(data["host"]["cpu"], self.td["HOST_ARCH"])
>>> +
>>> +            self._run("meson compile -C {build} -v".format(**dirs))
>>> +            self._run("meson install -C {build} --destdir 
>>> {install}".format(**dirs))
>>>
>>>               self.check_elf(os.path.join(dirs["install"], "usr", 
>>> "local", "lib", "libepoxy.so"))
>>
>> Hi,
>>
>> Thanks for the new version, but we have a new error now:
>>
>> Traceback (most recent call last):
>>    File 
>> "/srv/pokybuild/yocto-worker/qemux86/build/meta/lib/oeqa/sdk/cases/meson.py", line 47, in test_epoxy
>>      self.assertNotEqual(data["build"]["c"]["exelist"], 
>> data["host"]["c"]["exelist"])
>>                          ~~~~~~~~~~~~~^^^^^
>> KeyError: 'c'
> 
> Thanks, Mathieu.
> 
> Ross, can you have a look?

An update: I thought this was working for me, but I realize now that I 
may not be running the modified test. This is what I ended up running 
after looking around using oe-selftest list commands, as it was the only 
thing that looked close to an SDK meson test:

`oe-selftest -r devtool.DevtoolIdeSdkTests.test_devtool_ide_sdk_code_meson`

How do I run the modified test?

> 
>>
>> https://autobuilder.yoctoproject.org/valkyrie/#/builders/30/builds/1330
>>
>> Can you have a look at this please?
>>
>> -- 
>> Mathieu Dubois-Briand, Bootlin
>> Embedded Linux and Kernel engineering
>> https://bootlin.com
>>
> 
> 
> 
> -=-=-=-=-=-=-=-=-=-=-=-
> Links: You receive all messages sent to this group.
> View/Reply Online (#214542): https://lists.openembedded.org/g/openembedded-core/message/214542
> Mute This Topic: https://lists.openembedded.org/mt/112142020/3617670
> Group Owner: openembedded-core+owner@lists.openembedded.org
> Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [tom.hochstein@oss.nxp.com]
> -=-=-=-=-=-=-=-=-=-=-=-
> 



^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [OE-core] [PATCH v5 4/5] oeqa/sdk/meson: improve test to validate host/build target assignments
       [not found]       ` <1834F816ACB44615.7383@lists.openembedded.org>
@ 2025-04-10 15:28         ` Tom Hochstein
       [not found]         ` <1834FEA34534143E.27206@lists.openembedded.org>
  1 sibling, 0 replies; 14+ messages in thread
From: Tom Hochstein @ 2025-04-10 15:28 UTC (permalink / raw)
  To: openembedded-core

On 4/10/2025 8:28 AM, Tom Hochstein via lists.openembedded.org wrote:
> On 4/8/2025 10:10 AM, Tom Hochstein via lists.openembedded.org wrote:
>> On 4/8/2025 8:37 AM, Mathieu Dubois-Briand wrote:
>>> [You don't often get email from mathieu.dubois-briand@bootlin.com. 
>>> Learn why this is important at 
>>> https://aka.ms/LearnAboutSenderIdentification ]
>>>
>>> On Mon Apr 7, 2025 at 11:18 PM CEST, Tom Hochstein via 
>>> lists.openembedded.org wrote:
>>>> From: Ross Burton <ross.burton@arm.com>
>>>>
>>>> Use 'meson introspect' to dump JSON describing the build configuration
>>>> and validate that the build and host architectures are correctly set in
>>>> the meson.cross file.
>>>>
>>>> Also instead of calling ninja directly, call the relevant meson 
>>>> commands.
>>>>
>>>> Fixes: [YOCTO #15485]
>>>> Signed-off-by: Ross Burton <ross.burton@arm.com>
>>>> Signed-off-by: Tom Hochstein <tom.hochstein@oss.nxp.com>
>>>> ---
>>>
>>> Hi,
>>>
>>> Thanks for the new version, but we have a new error now:
>>>
>>> Traceback (most recent call last):
>>>    File 
>>> "/srv/pokybuild/yocto-worker/qemux86/build/meta/lib/oeqa/sdk/cases/meson.py", line 47, in test_epoxy
>>>      self.assertNotEqual(data["build"]["c"]["exelist"], 
>>> data["host"]["c"]["exelist"])
>>>                          ~~~~~~~~~~~~~^^^^^
>>> KeyError: 'c'
>>
>> Thanks, Mathieu.
>>
>> Ross, can you have a look?
> 
> An update: I thought this was working for me, but I realize now that I 
> may not be running the modified test. This is what I ended up running 
> after looking around using oe-selftest list commands, as it was the only 
> thing that looked close to an SDK meson test:
> 
> `oe-selftest -r devtool.DevtoolIdeSdkTests.test_devtool_ide_sdk_code_meson`
> 
> How do I run the modified test?
> 

Never mind, I figured it out and successfully ran `bitbake -c testsdk 
core-image-minimal` with no failures, including the modified test.

RESULTS - meson.MesonTest.test_epoxy: PASSED (19.43s)

Trying now with core-image-sato as is done on the autobuilder.

>>
>>>
>>> https://autobuilder.yoctoproject.org/valkyrie/#/builders/30/builds/1330
>>>
>>> Can you have a look at this please?
>>>
>>> -- 
>>> Mathieu Dubois-Briand, Bootlin
>>> Embedded Linux and Kernel engineering
>>> https://bootlin.com
>>>
>>
>>
>>
>>
>>
> 
> 
> 
> -=-=-=-=-=-=-=-=-=-=-=-
> Links: You receive all messages sent to this group.
> View/Reply Online (#214669): https://lists.openembedded.org/g/openembedded-core/message/214669
> Mute This Topic: https://lists.openembedded.org/mt/112142020/3617670
> Group Owner: openembedded-core+owner@lists.openembedded.org
> Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [tom.hochstein@oss.nxp.com]
> -=-=-=-=-=-=-=-=-=-=-=-
> 



^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [OE-core] [PATCH v5 4/5] oeqa/sdk/meson: improve test to validate host/build target assignments
       [not found]         ` <1834FEA34534143E.27206@lists.openembedded.org>
@ 2025-04-10 18:58           ` Tom Hochstein
  2025-04-11 10:01             ` Mathieu Dubois-Briand
       [not found]             ` <18353B5DF2EF4BC1.27206@lists.openembedded.org>
  0 siblings, 2 replies; 14+ messages in thread
From: Tom Hochstein @ 2025-04-10 18:58 UTC (permalink / raw)
  To: openembedded-core

On 4/10/2025 10:28 AM, Tom Hochstein via lists.openembedded.org wrote:
> On 4/10/2025 8:28 AM, Tom Hochstein via lists.openembedded.org wrote:
>> On 4/8/2025 10:10 AM, Tom Hochstein via lists.openembedded.org wrote:
>>> On 4/8/2025 8:37 AM, Mathieu Dubois-Briand wrote:
>>>> [You don't often get email from mathieu.dubois-briand@bootlin.com. 
>>>> Learn why this is important at 
>>>> https://aka.ms/LearnAboutSenderIdentification ]
>>>>
>>>> On Mon Apr 7, 2025 at 11:18 PM CEST, Tom Hochstein via 
>>>> lists.openembedded.org wrote:
>>>>> From: Ross Burton <ross.burton@arm.com>
>>>>>
>>>>> Use 'meson introspect' to dump JSON describing the build configuration
>>>>> and validate that the build and host architectures are correctly 
>>>>> set in
>>>>> the meson.cross file.
>>>>>
>>>>> Also instead of calling ninja directly, call the relevant meson 
>>>>> commands.
>>>>>
>>>>> Fixes: [YOCTO #15485]
>>>>> Signed-off-by: Ross Burton <ross.burton@arm.com>
>>>>> Signed-off-by: Tom Hochstein <tom.hochstein@oss.nxp.com>
>>>>> ---
>>>>
>>>> Hi,
>>>>
>>>> Thanks for the new version, but we have a new error now:
>>>>
>>>> Traceback (most recent call last):
>>>>    File 
>>>> "/srv/pokybuild/yocto-worker/qemux86/build/meta/lib/oeqa/sdk/cases/meson.py", line 47, in test_epoxy
>>>>      self.assertNotEqual(data["build"]["c"]["exelist"], 
>>>> data["host"]["c"]["exelist"])
>>>>                          ~~~~~~~~~~~~~^^^^^
>>>> KeyError: 'c'
>>>
>>> Thanks, Mathieu.
>>>
>>> Ross, can you have a look?
>>
>> An update: I thought this was working for me, but I realize now that I 
>> may not be running the modified test. This is what I ended up running 
>> after looking around using oe-selftest list commands, as it was the 
>> only thing that looked close to an SDK meson test:
>>
>> `oe-selftest -r 
>> devtool.DevtoolIdeSdkTests.test_devtool_ide_sdk_code_meson`
>>
>> How do I run the modified test?
>>
> 
> Never mind, I figured it out and successfully ran `bitbake -c testsdk 
> core-image-minimal` with no failures, including the modified test.
> 
> RESULTS - meson.MesonTest.test_epoxy: PASSED (19.43s)
> 
> Trying now with core-image-sato as is done on the autobuilder.

Unfortunately, I still cannot reproduce the issue. Another variance was
that I had used the default machine qemux86-64, while the autobuilder
test failed using qemux86. I updated the machine, but still cannot
reproduce the error.

> 
>>>
>>>>
>>>> https://autobuilder.yoctoproject.org/valkyrie/#/builders/30/builds/1330
>>>>
>>>> Can you have a look at this please?
>>>>
>>>> -- 
>>>> Mathieu Dubois-Briand, Bootlin
>>>> Embedded Linux and Kernel engineering
>>>> https://bootlin.com
>>>>
>>>
>>>
>>>
>>>
>>>
>>
>>
>>
>>
>>
> 
> 
> 
> -=-=-=-=-=-=-=-=-=-=-=-
> Links: You receive all messages sent to this group.
> View/Reply Online (#214680): https://lists.openembedded.org/g/openembedded-core/message/214680
> Mute This Topic: https://lists.openembedded.org/mt/112142020/3617670
> Group Owner: openembedded-core+owner@lists.openembedded.org
> Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [tom.hochstein@oss.nxp.com]
> -=-=-=-=-=-=-=-=-=-=-=-
> 



^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [OE-core] [PATCH v5 4/5] oeqa/sdk/meson: improve test to validate host/build target assignments
  2025-04-10 18:58           ` Tom Hochstein
@ 2025-04-11 10:01             ` Mathieu Dubois-Briand
       [not found]             ` <18353B5DF2EF4BC1.27206@lists.openembedded.org>
  1 sibling, 0 replies; 14+ messages in thread
From: Mathieu Dubois-Briand @ 2025-04-11 10:01 UTC (permalink / raw)
  To: tom.hochstein, openembedded-core

On Thu Apr 10, 2025 at 8:58 PM CEST, Tom Hochstein via lists.openembedded.org wrote:
> On 4/10/2025 10:28 AM, Tom Hochstein via lists.openembedded.org wrote:
>> On 4/10/2025 8:28 AM, Tom Hochstein via lists.openembedded.org wrote:
>>> On 4/8/2025 10:10 AM, Tom Hochstein via lists.openembedded.org wrote:
>>>> On 4/8/2025 8:37 AM, Mathieu Dubois-Briand wrote:
>>>>>
>>>>> Hi,
>>>>>
>>>>> Thanks for the new version, but we have a new error now:
>>>>>
>>>>> Traceback (most recent call last):
>>>>>    File 
>>>>> "/srv/pokybuild/yocto-worker/qemux86/build/meta/lib/oeqa/sdk/cases/meson.py", line 47, in test_epoxy
>>>>>      self.assertNotEqual(data["build"]["c"]["exelist"], 
>>>>> data["host"]["c"]["exelist"])
>>>>>                          ~~~~~~~~~~~~~^^^^^
>>>>> KeyError: 'c'
>>>>
>>>> Thanks, Mathieu.
>>>>
>>>> Ross, can you have a look?
>>>
>>> An update: I thought this was working for me, but I realize now that I 
>>> may not be running the modified test. This is what I ended up running 
>>> after looking around using oe-selftest list commands, as it was the 
>>> only thing that looked close to an SDK meson test:
>>>
>>> `oe-selftest -r 
>>> devtool.DevtoolIdeSdkTests.test_devtool_ide_sdk_code_meson`
>>>
>>> How do I run the modified test?
>>>
>> 
>> Never mind, I figured it out and successfully ran `bitbake -c testsdk 
>> core-image-minimal` with no failures, including the modified test.
>> 
>> RESULTS - meson.MesonTest.test_epoxy: PASSED (19.43s)
>> 
>> Trying now with core-image-sato as is done on the autobuilder.
>
> Unfortunately, I still cannot reproduce the issue. Another variance was
> that I had used the default machine qemux86-64, while the autobuilder
> test failed using qemux86. I updated the machine, but still cannot
> reproduce the error.
>

Hi,

Ok, I managed to reproduce the error withe the following process:

git clone git://web.git.yoctoproject.org/poky-ci-archive -b autobuilder.yoctoproject.org/valkyrie/a-full-1363
cd poky-ci-archive 
. oe-init-build-env

Adding following in my local.conf:
IMAGE_CLASSES += "testimage"
MACHINE = "qemux86"
DISTRO = "poky"
SDKMACHINE = "i686"
PACKAGE_CLASSES = "package_rpm package_deb package_ipk"
INHERIT += 'image-buildinfo'

bitbake core-image-sato -c populate_sdk
bitbake core-image-sato -c testsdk

And I got this error:

Traceback (most recent call last):
  File "/home/mdubois-briand/swat/oe-sefltest/poky-contrib/meta/lib/oeqa/sdk/cases/meson.py", line 47, in test_epoxy
    self.assertNotEqual(data["build"]["c"]["exelist"], data["host"]["c"]["exelist"])
                        ~~~~~~~~~~~~~^^^^^
KeyError: 'c'

Best regards,
Mathieu

-- 
Mathieu Dubois-Briand, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com



^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [OE-core] [PATCH v5 4/5] oeqa/sdk/meson: improve test to validate host/build target assignments
       [not found]             ` <18353B5DF2EF4BC1.27206@lists.openembedded.org>
@ 2025-04-11 10:13               ` Mathieu Dubois-Briand
  2025-04-11 15:37                 ` Tom Hochstein
  0 siblings, 1 reply; 14+ messages in thread
From: Mathieu Dubois-Briand @ 2025-04-11 10:13 UTC (permalink / raw)
  To: tom.hochstein, openembedded-core

On Fri Apr 11, 2025 at 12:01 PM CEST, Mathieu Dubois-Briand via lists.openembedded.org wrote:
> Hi,
>
> Ok, I managed to reproduce the error withe the following process:
>
> git clone git://web.git.yoctoproject.org/poky-ci-archive -b autobuilder.yoctoproject.org/valkyrie/a-full-1363
> cd poky-ci-archive 
> . oe-init-build-env
>
> Adding following in my local.conf:
> IMAGE_CLASSES += "testimage"
> MACHINE = "qemux86"
> DISTRO = "poky"
> SDKMACHINE = "i686"
> PACKAGE_CLASSES = "package_rpm package_deb package_ipk"
> INHERIT += 'image-buildinfo'
>
> bitbake core-image-sato -c populate_sdk
> bitbake core-image-sato -c testsdk
>
> And I got this error:
>
> Traceback (most recent call last):
>   File "/home/mdubois-briand/swat/oe-sefltest/poky-contrib/meta/lib/oeqa/sdk/cases/meson.py", line 47, in test_epoxy
>     self.assertNotEqual(data["build"]["c"]["exelist"], data["host"]["c"]["exelist"])
>                         ~~~~~~~~~~~~~^^^^^
> KeyError: 'c'
>
> Best regards,
> Mathieu

Also reproduced with core-image-minimal, if you don't want to loose time
building core-image-sato.


-- 
Mathieu Dubois-Briand, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com



^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [OE-core] [PATCH v5 4/5] oeqa/sdk/meson: improve test to validate host/build target assignments
  2025-04-11 10:13               ` Mathieu Dubois-Briand
@ 2025-04-11 15:37                 ` Tom Hochstein
  2025-04-15  8:29                   ` Mathieu Dubois-Briand
  0 siblings, 1 reply; 14+ messages in thread
From: Tom Hochstein @ 2025-04-11 15:37 UTC (permalink / raw)
  To: Mathieu Dubois-Briand, openembedded-core

On 4/11/2025 5:13 AM, Mathieu Dubois-Briand wrote:
> On Fri Apr 11, 2025 at 12:01 PM CEST, Mathieu Dubois-Briand via lists.openembedded.org wrote:
>> Hi,
>>
>> Ok, I managed to reproduce the error withe the following process:
>>
>> git clone git://web.git.yoctoproject.org/poky-ci-archive -b autobuilder.yoctoproject.org/valkyrie/a-full-1363
>> cd poky-ci-archive
>> . oe-init-build-env
>>
>> Adding following in my local.conf:
>> IMAGE_CLASSES += "testimage"
>> MACHINE = "qemux86"
>> DISTRO = "poky"
>> SDKMACHINE = "i686"
>> PACKAGE_CLASSES = "package_rpm package_deb package_ipk"
>> INHERIT += 'image-buildinfo'
>>
>> bitbake core-image-sato -c populate_sdk
>> bitbake core-image-sato -c testsdk
>>
>> And I got this error:
>>
>> Traceback (most recent call last):
>>    File "/home/mdubois-briand/swat/oe-sefltest/poky-contrib/meta/lib/oeqa/sdk/cases/meson.py", line 47, in test_epoxy
>>      self.assertNotEqual(data["build"]["c"]["exelist"], data["host"]["c"]["exelist"])
>>                          ~~~~~~~~~~~~~^^^^^
>> KeyError: 'c'
>>
>> Best regards,
>> Mathieu
> 
> Also reproduced with core-image-minimal, if you don't want to loose time
> building core-image-sato.
> 
> 

Thanks, Mathieu! I can reproduce it now.

The key in your steps to reproduce is setting SDKMACHINE = "i686". So
the SDK is built for i686, but the build machine is x86_64, so the test
is not valid.

How should it be fixed? Testing for the mismatch and raising SkipTest in
MesonTest.setUp?

Tom



^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [OE-core] [PATCH v5 4/5] oeqa/sdk/meson: improve test to validate host/build target assignments
  2025-04-11 15:37                 ` Tom Hochstein
@ 2025-04-15  8:29                   ` Mathieu Dubois-Briand
  0 siblings, 0 replies; 14+ messages in thread
From: Mathieu Dubois-Briand @ 2025-04-15  8:29 UTC (permalink / raw)
  To: Tom Hochstein, openembedded-core

On Fri Apr 11, 2025 at 5:37 PM CEST, Tom Hochstein wrote:
>
> Thanks, Mathieu! I can reproduce it now.
>
> The key in your steps to reproduce is setting SDKMACHINE = "i686". So
> the SDK is built for i686, but the build machine is x86_64, so the test
> is not valid.
>
> How should it be fixed? Testing for the mismatch and raising SkipTest in
> MesonTest.setUp?
>
> Tom

I'm not really familiar with these tests to be honest, so I cannot
really help you on that. Sorry.


-- 
Mathieu Dubois-Briand, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com



^ permalink raw reply	[flat|nested] 14+ messages in thread

end of thread, other threads:[~2025-04-15  8:29 UTC | newest]

Thread overview: 14+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-04-07 21:18 [PATCH v5 1/5] toolchain-scripts: Add Meson settings for Yocto build SDK Tom Hochstein
2025-04-07 21:18 ` [PATCH v5 2/5] toolchain-scripts: Export meson settings for SDK builds Tom Hochstein
2025-04-07 21:18 ` [PATCH v5 3/5] meson: Fix host_machine setting for native cross-file Tom Hochstein
2025-04-07 21:18 ` [PATCH v5 4/5] oeqa/sdk/meson: improve test to validate host/build target assignments Tom Hochstein
2025-04-08 13:37   ` [OE-core] " Mathieu Dubois-Briand
2025-04-08 15:10     ` Tom Hochstein
     [not found]     ` <183460753CA35884.31078@lists.openembedded.org>
2025-04-10 13:28       ` Tom Hochstein
     [not found]       ` <1834F816ACB44615.7383@lists.openembedded.org>
2025-04-10 15:28         ` Tom Hochstein
     [not found]         ` <1834FEA34534143E.27206@lists.openembedded.org>
2025-04-10 18:58           ` Tom Hochstein
2025-04-11 10:01             ` Mathieu Dubois-Briand
     [not found]             ` <18353B5DF2EF4BC1.27206@lists.openembedded.org>
2025-04-11 10:13               ` Mathieu Dubois-Briand
2025-04-11 15:37                 ` Tom Hochstein
2025-04-15  8:29                   ` Mathieu Dubois-Briand
2025-04-07 21:18 ` [PATCH v5 5/5] meson: Allow user to override setup command options Tom Hochstein

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox