summaryrefslogtreecommitdiffstats
path: root/meta
diff options
context:
space:
mode:
authorRoss Burton <ross.burton@intel.com>2019-03-21 12:32:17 +0000
committerRichard Purdie <richard.purdie@linuxfoundation.org>2019-03-24 17:00:52 +0000
commit06606fd9e0c1000c7479f2899eb6e5c48fa5b2cd (patch)
treec1f84be1284cbbc7a4ec184daa751b690a1b6beb /meta
parent928b20e70526955c02e93f71e8c30ff17f48de72 (diff)
downloadpoky-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')
-rw-r--r--meta/recipes-devtools/meson/meson.inc1
-rw-r--r--meta/recipes-devtools/meson/meson/cross-prop-default.patch23
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 "
18SRC_URI[sha256sum] = "ef9f14326ec1e30d3ba1a26df0f92826ede5a79255ad723af78a2691c37109fd" 19SRC_URI[sha256sum] = "ef9f14326ec1e30d3ba1a26df0f92826ede5a79255ad723af78a2691c37109fd"
19SRC_URI[md5sum] = "0267b0871266056184c484792572c682" 20SRC_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 @@
1meson.build files that use cc.run() in native builds can silently fallback to
2meson.get_cross_property() in cross builds without an exe-wrapper, but there's
3no way to know that this is happening.
4
5As the defaults may be pessimistic (for example, disabling the support for a
6feature that should be enabled) emit a warning when the default is used, so that
7the recipe can explicitly set the cross property as relevant.
8
9Upstream-Status: Submitted [https://github.com/mesonbuild/meson/pull/5071]
10Signed-off-by: Ross Burton <ross.burton@intel.com>
11
12diff --git a/mesonbuild/interpreter.py b/mesonbuild/interpreter.py
13index 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