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