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 17:00:52 +0000 |
commit | 06606fd9e0c1000c7479f2899eb6e5c48fa5b2cd (patch) | |
tree | c1f84be1284cbbc7a4ec184daa751b690a1b6beb /meta/recipes-devtools/meson | |
parent | 928b20e70526955c02e93f71e8c30ff17f48de72 (diff) | |
download | poky-06606fd9e0c1000c7479f2899eb6e5c48fa5b2cd.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.
(From OE-Core rev: 669ddafcc9f363cbb81d4b71649241257785a840)
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/recipes-devtools/meson')
-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 | |||
14 | file://cross-libdir.patch \ | 14 | file://cross-libdir.patch \ |
15 | file://0001-modules-windows-split-WINDRES-env-variable.patch \ | 15 | file://0001-modules-windows-split-WINDRES-env-variable.patch \ |
16 | file://0002-environment.py-detect-windows-also-if-the-system-str.patch \ | 16 | file://0002-environment.py-detect-windows-also-if-the-system-str.patch \ |
17 | file://cross-prop-default.patch \ | ||
17 | " | 18 | " |
18 | SRC_URI[sha256sum] = "ef9f14326ec1e30d3ba1a26df0f92826ede5a79255ad723af78a2691c37109fd" | 19 | SRC_URI[sha256sum] = "ef9f14326ec1e30d3ba1a26df0f92826ede5a79255ad723af78a2691c37109fd" |
19 | SRC_URI[md5sum] = "0267b0871266056184c484792572c682" | 20 | 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 @@ | |||
1 | meson.build files that use cc.run() in native builds can silently fallback to | ||
2 | meson.get_cross_property() in cross builds without an exe-wrapper, but there's | ||
3 | no way to know that this is happening. | ||
4 | |||
5 | As the defaults may be pessimistic (for example, disabling the support for a | ||
6 | feature that should be enabled) emit a warning when the default is used, so that | ||
7 | the recipe can explicitly set the cross property as relevant. | ||
8 | |||
9 | Upstream-Status: Submitted [https://github.com/mesonbuild/meson/pull/5071] | ||
10 | Signed-off-by: Ross Burton <ross.burton@intel.com> | ||
11 | |||
12 | diff --git a/mesonbuild/interpreter.py b/mesonbuild/interpreter.py | ||
13 | index 3c3cfae0..10e741ae 100644 | ||
14 | --- a/mesonbuild/interpreter.py | ||
15 | +++ b/mesonbuild/interpreter.py | ||
16 | @@ -1890,6 +1890,7 @@ class MesonMain(InterpreterObject): | ||
17 | return props[propname] | ||
18 | except Exception: | ||
19 | if len(args) == 2: | ||
20 | + mlog.warning('Cross property %s is using default value %s' % (propname, args[1])) | ||
21 | return args[1] | ||
22 | raise InterpreterException('Unknown cross property: %s.' % propname) | ||
23 | |||