From: Ross Burton <[email protected]>

This is adding back a warning that was removed in the upgrade to Meson
0.58 (cb2a7dcc) as source evolution meant the patch didn't apply.

Meson scripts which want to identify runtime behaviour often use
external properties (meson.get_external_property(), set via the cross
and native files) to define default behaviour if they can't run code at
configure time.

These defaults may or may not be correct, so emit a warning that this is
happening. The recipe should then provide a cross file fragment which
sets the value appropriately.

In the long term I hope to be able to remove this patch as Meson evolves
cc.run() to support fallback values directly, and Meson will log the use
of defaults itself.

Signed-off-by: Ross Burton <[email protected]>
---
 .../meson/meson/default.patch                 | 24 +++++++++++++++++++
 meta/recipes-devtools/meson/meson_1.1.1.bb    |  1 +
 2 files changed, 25 insertions(+)
 create mode 100644 meta/recipes-devtools/meson/meson/default.patch

diff --git a/meta/recipes-devtools/meson/meson/default.patch 
b/meta/recipes-devtools/meson/meson/default.patch
new file mode 100644
index 00000000000..60adfc8cf4d
--- /dev/null
+++ b/meta/recipes-devtools/meson/meson/default.patch
@@ -0,0 +1,24 @@
+Emit a warning if a cross property is used (via meson.get_external_property())
+without an explicit value being set.
+
+All default values should be validated to be sure that they're correct, so if 
we
+emit a warning in Meson then meson.bbclass can catch and expose it.
+
+This is inappropriate as upstream are thinking about improving how cc.run()
+handles the cross case.
+
+Upstream-Status: Inappropriate
+Signed-off-by: Ross Burton <[email protected]>
+
+diff --git a/mesonbuild/interpreter/mesonmain.py 
b/mesonbuild/interpreter/mesonmain.py
+index 01d0029a7..936b03fbf 100644
+--- a/mesonbuild/interpreter/mesonmain.py
++++ b/mesonbuild/interpreter/mesonmain.py
+@@ -416,6 +416,7 @@ class MesonMain(MesonInterpreterObject):
+             return self.interpreter.environment.properties[machine][propname]
+         except KeyError:
+             if fallback is not None:
++                mlog.warning(f"Cross property {propname} is using default 
value {fallback}")
+                 return fallback
+             raise InterpreterException(f'Unknown property for 
{machine.get_lower_case_name()} machine: {propname}')
+ 
diff --git a/meta/recipes-devtools/meson/meson_1.1.1.bb 
b/meta/recipes-devtools/meson/meson_1.1.1.bb
index 500e13775f4..d017d2dccd9 100644
--- a/meta/recipes-devtools/meson/meson_1.1.1.bb
+++ b/meta/recipes-devtools/meson/meson_1.1.1.bb
@@ -14,6 +14,7 @@ SRC_URI = 
"${GITHUB_BASE_URI}/download/${PV}/meson-${PV}.tar.gz \
            
file://0001-python-module-do-not-manipulate-the-environment-when.patch \
            file://0001-Make-CPU-family-warnings-fatal.patch \
            file://0002-Support-building-allarch-recipes-again.patch \
+           file://default.patch \
            "
 SRC_URI[sha256sum] = 
"d04b541f97ca439fb82fab7d0d480988be4bd4e62563a5ca35fadb5400727b1c"
 
-- 
2.34.1

-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#185806): 
https://lists.openembedded.org/g/openembedded-core/message/185806
Mute This Topic: https://lists.openembedded.org/mt/100666859/21656
Group Owner: [email protected]
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[[email protected]]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to