diff options
author | Ross Burton <ross.burton@intel.com> | 2019-03-21 12:32:17 +0000 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2019-03-24 16:59:43 +0000 |
commit | 669ddafcc9f363cbb81d4b71649241257785a840 (patch) | |
tree | b804ed65c5714b22d5cfa93607c1474cfbc17f29 | |
parent | 72e8597562fa7d8b0f19ed5c8727ebdf172c96a9 (diff) | |
download | openembedded-core-contrib-669ddafcc9f363cbb81d4b71649241257785a840.tar.gz |
meson: warn if the default value from meson.get_cross_property() is being used
Projects such as glib have tests that execute code to check their behaviour, and
in cross-compilation environments where they can't execute code fall back on
meson.get_cross_property() with a default value. These default values may not
be appropriate: for example if glib can't verify that vsprintf() isn't broken it
assumes that it is, and embeds the gnulib copy of vsprintf() instead of using
glibc's implementation.
Add a warning whenever the default value for get_cross_property() is used so
that we can tell this is happening and set the value appropriately.
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rw-r--r-- | meta/recipes-devtools/meson/meson.inc | 1 | ||||
-rw-r--r-- | meta/recipes-devtools/meson/meson/cross-prop-default.patch | 23 |
2 files changed, 24 insertions, 0 deletions
diff --git a/meta/recipes-devtools/meson/meson.inc b/meta/recipes-devtools/meson/meson.inc index d5d71c67b6..ca448b00a0 100644 --- a/meta/recipes-devtools/meson/meson.inc +++ b/meta/recipes-devtools/meson/meson.inc @@ -14,6 +14,7 @@ SRC_URI = "https://github.com/mesonbuild/meson/releases/download/${PV}/meson-${P file://cross-libdir.patch \ file://0001-modules-windows-split-WINDRES-env-variable.patch \ file://0002-environment.py-detect-windows-also-if-the-system-str.patch \ + file://cross-prop-default.patch \ " SRC_URI[sha256sum] = "ef9f14326ec1e30d3ba1a26df0f92826ede5a79255ad723af78a2691c37109fd" SRC_URI[md5sum] = "0267b0871266056184c484792572c682" diff --git a/meta/recipes-devtools/meson/meson/cross-prop-default.patch b/meta/recipes-devtools/meson/meson/cross-prop-default.patch new file mode 100644 index 0000000000..772395e879 --- /dev/null +++ b/meta/recipes-devtools/meson/meson/cross-prop-default.patch @@ -0,0 +1,23 @@ +meson.build files that use cc.run() in native builds can silently fallback to +meson.get_cross_property() in cross builds without an exe-wrapper, but there's +no way to know that this is happening. + +As the defaults may be pessimistic (for example, disabling the support for a +feature that should be enabled) emit a warning when the default is used, so that +the recipe can explicitly set the cross property as relevant. + +Upstream-Status: Submitted [https://github.com/mesonbuild/meson/pull/5071] +Signed-off-by: Ross Burton <ross.burton@intel.com> + +diff --git a/mesonbuild/interpreter.py b/mesonbuild/interpreter.py +index 3c3cfae0..10e741ae 100644 +--- a/mesonbuild/interpreter.py ++++ b/mesonbuild/interpreter.py +@@ -1890,6 +1890,7 @@ class MesonMain(InterpreterObject): + return props[propname] + except Exception: + if len(args) == 2: ++ mlog.warning('Cross property %s is using default value %s' % (propname, args[1])) + return args[1] + raise InterpreterException('Unknown cross property: %s.' % propname) + |