<div dir="ltr"><div>Thanks, I have just sent a patch that fixes the error.</div><div><br></div><div>Alex<br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Thu, 1 Aug 2019 at 16:33, Khem Raj &lt;<a href="mailto:raj.khem@gmail.com" target="_blank">raj.khem@gmail.com</a>&gt; wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Alexander<br>
<br>
Either this or the next patch in this series seems to be causing<br>
<br>
<a href="https://errors.yoctoproject.org/Errors/Details/256700/" rel="noreferrer" target="_blank">https://errors.yoctoproject.org/Errors/Details/256700/</a><br>
<br>
On Tue, Jul 30, 2019 at 8:55 AM Alexander Kanavin<br>
&lt;<a href="mailto:alex.kanavin@gmail.com" target="_blank">alex.kanavin@gmail.com</a>&gt; wrote:<br>
&gt;<br>
&gt; Drop backports.<br>
&gt;<br>
&gt; Rebase other patches.<br>
&gt;<br>
&gt; Signed-off-by: Alexander Kanavin &lt;<a href="mailto:alex.kanavin@gmail.com" target="_blank">alex.kanavin@gmail.com</a>&gt;<br>
&gt; ---<br>
&gt;  meta/recipes-devtools/meson/meson.inc         |   6 +-<br>
&gt;  .../0001-Make-CPU-family-warnings-fatal.patch |  10 +-<br>
&gt;  ...etect-windows-also-if-the-system-str.patch |  14 +-<br>
&gt;  ...onment.py-check-environment-for-vari.patch |  20 +-<br>
&gt;  ...onment.py-do-not-determine-whether-a.patch |  10 +-<br>
&gt;  ...pport-building-allarch-recipes-again.patch |   6 +-<br>
&gt;  .../meson/meson/0003-native_bindir.patch      |  32 +--<br>
&gt;  ...ld-allow-multiple-cross-file-options.patch | 185 ------------------<br>
&gt;  .../load-configs-generalise-search-path.patch |  53 -----<br>
&gt;  .../{<a href="http://meson_0.50.1.bb" rel="noreferrer" target="_blank">meson_0.50.1.bb</a> =&gt; <a href="http://meson_0.51.1.bb" rel="noreferrer" target="_blank">meson_0.51.1.bb</a>}      |   0<br>
&gt;  ...<a href="http://on_0.50.1.bb" rel="noreferrer" target="_blank">on_0.50.1.bb</a> =&gt; <a href="http://nativesdk-meson_0.51.1.bb" rel="noreferrer" target="_blank">nativesdk-meson_0.51.1.bb</a>} |   0<br>
&gt;  11 files changed, 49 insertions(+), 287 deletions(-)<br>
&gt;  delete mode 100644 meta/recipes-devtools/meson/meson/0007-mesonbuild-allow-multiple-cross-file-options.patch<br>
&gt;  delete mode 100644 meta/recipes-devtools/meson/meson/load-configs-generalise-search-path.patch<br>
&gt;  rename meta/recipes-devtools/meson/{<a href="http://meson_0.50.1.bb" rel="noreferrer" target="_blank">meson_0.50.1.bb</a> =&gt; <a href="http://meson_0.51.1.bb" rel="noreferrer" target="_blank">meson_0.51.1.bb</a>} (100%)<br>
&gt;  rename meta/recipes-devtools/meson/{<a href="http://nativesdk-meson_0.50.1.bb" rel="noreferrer" target="_blank">nativesdk-meson_0.50.1.bb</a> =&gt; <a href="http://nativesdk-meson_0.51.1.bb" rel="noreferrer" target="_blank">nativesdk-meson_0.51.1.bb</a>} (100%)<br>
&gt;<br>
&gt; diff --git a/meta/recipes-devtools/meson/meson.inc b/meta/recipes-devtools/meson/meson.inc<br>
&gt; index 6a723683cc0..b9a05967f46 100644<br>
&gt; --- a/meta/recipes-devtools/meson/meson.inc<br>
&gt; +++ b/meta/recipes-devtools/meson/meson.inc<br>
&gt; @@ -11,15 +11,13 @@ SRC_URI = &quot;<a href="https://github.com/mesonbuild/meson/releases/download/$%7BPV%7D/meson-$%7BP" rel="noreferrer" target="_blank">https://github.com/mesonbuild/meson/releases/download/${PV}/meson-${P</a><br>
&gt;             file://0001-python-module-do-not-manipulate-the-environment-when.patch \<br>
&gt;             file://disable-rpath-handling.patch \<br>
&gt;             file://cross-prop-default.patch \<br>
&gt; -           file://load-configs-generalise-search-path.patch \<br>
&gt; -           file://0007-mesonbuild-allow-multiple-cross-file-options.patch \<br>
&gt;             file://0001-environment.py-detect-windows-also-if-the-system-str.patch \<br>
&gt;             file://0001-mesonbuild-environment.py-do-not-determine-whether-a.patch \<br>
&gt;             file://0001-mesonbuild-environment.py-check-environment-for-vari.patch \<br>
&gt;             file://0001-modules-python.py-do-not-substitute-python-s-install.patch \<br>
&gt;             &quot;<br>
&gt; -SRC_URI[sha256sum] = &quot;f68f56d60c80a77df8fc08fa1016bc5831605d4717b622c96212573271e14ecc&quot;<br>
&gt; -SRC_URI[md5sum] = &quot;24a6527796115828d2ebc75880e18d62&quot;<br>
&gt; +SRC_URI[sha256sum] = &quot;f27b7a60f339ba66fe4b8f81f0d1072e090a08eabbd6aa287683b2c2b9dd2d82&quot;<br>
&gt; +SRC_URI[md5sum] = &quot;48787e391ec5c052799a3dd491f73909&quot;<br>
&gt;<br>
&gt;  SRC_URI_append_class-native = &quot; \<br>
&gt;      file://0001-Make-CPU-family-warnings-fatal.patch \<br>
&gt; diff --git a/meta/recipes-devtools/meson/meson/0001-Make-CPU-family-warnings-fatal.patch b/meta/recipes-devtools/meson/meson/0001-Make-CPU-family-warnings-fatal.patch<br>
&gt; index adde1e271f1..444fc081686 100644<br>
&gt; --- a/meta/recipes-devtools/meson/meson/0001-Make-CPU-family-warnings-fatal.patch<br>
&gt; +++ b/meta/recipes-devtools/meson/meson/0001-Make-CPU-family-warnings-fatal.patch<br>
&gt; @@ -1,4 +1,4 @@<br>
&gt; -From 4b4b3d4932d928f05dbd74d730a3c8a5ac371e1d Mon Sep 17 00:00:00 2001<br>
&gt; +From f70fee13e4dbc757cd8153cd42d92fa9394fb542 Mon Sep 17 00:00:00 2001<br>
&gt;  From: Ross Burton &lt;<a href="mailto:ross.burton@intel.com" target="_blank">ross.burton@intel.com</a>&gt;<br>
&gt;  Date: Tue, 3 Jul 2018 13:59:09 +0100<br>
&gt;  Subject: [PATCH] Make CPU family warnings fatal<br>
&gt; @@ -12,10 +12,10 @@ Signed-off-by: Ross Burton &lt;<a href="mailto:ross.burton@intel.com" target="_blank">ross.burton@intel.com</a>&gt;<br>
&gt;   2 files changed, 2 insertions(+), 4 deletions(-)<br>
&gt;<br>
&gt;  diff --git a/mesonbuild/envconfig.py b/mesonbuild/envconfig.py<br>
&gt; -index 5309ef4..3f0a399 100644<br>
&gt; +index 03c6346..86b350b 100644<br>
&gt;  --- a/mesonbuild/envconfig.py<br>
&gt;  +++ b/mesonbuild/envconfig.py<br>
&gt; -@@ -178,7 +178,7 @@ class MachineInfo:<br>
&gt; +@@ -186,7 +186,7 @@ class MachineInfo:<br>
&gt;<br>
&gt;           cpu_family = literal[&#39;cpu_family&#39;]<br>
&gt;           if cpu_family not in known_cpu_families:<br>
&gt; @@ -25,10 +25,10 @@ index 5309ef4..3f0a399 100644<br>
&gt;           endian = literal[&#39;endian&#39;]<br>
&gt;           if endian not in (&#39;little&#39;, &#39;big&#39;):<br>
&gt;  diff --git a/mesonbuild/environment.py b/mesonbuild/environment.py<br>
&gt; -index 3031a82..ecd18d0 100644<br>
&gt; +index 0cfdf9c..40aa189 100644<br>
&gt;  --- a/mesonbuild/environment.py<br>
&gt;  +++ b/mesonbuild/environment.py<br>
&gt; -@@ -242,9 +242,7 @@ def detect_cpu_family(compilers):<br>
&gt; +@@ -262,9 +262,7 @@ def detect_cpu_family(compilers: CompilersDict) -&gt; str:<br>
&gt;           trial = &#39;parisc&#39;<br>
&gt;<br>
&gt;       if trial not in known_cpu_families:<br>
&gt; diff --git a/meta/recipes-devtools/meson/meson/0001-environment.py-detect-windows-also-if-the-system-str.patch b/meta/recipes-devtools/meson/meson/0001-environment.py-detect-windows-also-if-the-system-str.patch<br>
&gt; index f6043190af0..37b5356d77a 100644<br>
&gt; --- a/meta/recipes-devtools/meson/meson/0001-environment.py-detect-windows-also-if-the-system-str.patch<br>
&gt; +++ b/meta/recipes-devtools/meson/meson/0001-environment.py-detect-windows-also-if-the-system-str.patch<br>
&gt; @@ -1,4 +1,4 @@<br>
&gt; -From 63b78b7990c5d60f7bc674a26f655caa0bec3c49 Mon Sep 17 00:00:00 2001<br>
&gt; +From b52e47c9d61dc4c930cfc7236fbeb70338c3b953 Mon Sep 17 00:00:00 2001<br>
&gt;  From: Alexander Kanavin &lt;<a href="mailto:alex.kanavin@gmail.com" target="_blank">alex.kanavin@gmail.com</a>&gt;<br>
&gt;  Date: Mon, 25 Mar 2019 17:17:06 +0100<br>
&gt;  Subject: [PATCH] environment.py: detect windows also if the system string<br>
&gt; @@ -6,20 +6,24 @@ Subject: [PATCH] environment.py: detect windows also if the system string<br>
&gt;<br>
&gt;  Upstream-Status: Pending<br>
&gt;  Signed-off-by: Alexander Kanavin &lt;<a href="mailto:alex.kanavin@gmail.com" target="_blank">alex.kanavin@gmail.com</a>&gt;<br>
&gt; +<br>
&gt;  ---<br>
&gt;   mesonbuild/envconfig.py | 2 +-<br>
&gt;   1 file changed, 1 insertion(+), 1 deletion(-)<br>
&gt;<br>
&gt;  diff --git a/mesonbuild/envconfig.py b/mesonbuild/envconfig.py<br>
&gt; -index f2510c1..5309ef4 100644<br>
&gt; +index 03c6346..a59cd89 100644<br>
&gt;  --- a/mesonbuild/envconfig.py<br>
&gt;  +++ b/mesonbuild/envconfig.py<br>
&gt; -@@ -194,7 +194,7 @@ class MachineInfo:<br>
&gt; +@@ -198,7 +198,7 @@ class MachineInfo:<br>
&gt;           &quot;&quot;&quot;<br>
&gt;           Machine is windows?<br>
&gt;           &quot;&quot;&quot;<br>
&gt; --        return self.system == &#39;windows&#39;<br>
&gt; +-        return self.system in {&#39;windows&#39;, &#39;mingw&#39;}<br>
&gt;  +        return self.system == &#39;windows&#39; or &#39;mingw&#39; in self.system<br>
&gt;<br>
&gt; -     def is_cygwin(self):<br>
&gt; +     def is_cygwin(self) -&gt; bool:<br>
&gt;           &quot;&quot;&quot;<br>
&gt; +--<br>
&gt; +2.17.1<br>
&gt; +<br>
&gt; diff --git a/meta/recipes-devtools/meson/meson/0001-mesonbuild-environment.py-check-environment-for-vari.patch b/meta/recipes-devtools/meson/meson/0001-mesonbuild-environment.py-check-environment-for-vari.patch<br>
&gt; index fadb2734f4b..f4456235fe7 100644<br>
&gt; --- a/meta/recipes-devtools/meson/meson/0001-mesonbuild-environment.py-check-environment-for-vari.patch<br>
&gt; +++ b/meta/recipes-devtools/meson/meson/0001-mesonbuild-environment.py-check-environment-for-vari.patch<br>
&gt; @@ -1,4 +1,4 @@<br>
&gt; -From 63e79329b5dd00882f0cea56a6d907a831b94171 Mon Sep 17 00:00:00 2001<br>
&gt; +From a72dc2b1cddcf180ce782860896deae0b12d5000 Mon Sep 17 00:00:00 2001<br>
&gt;  From: Alexander Kanavin &lt;<a href="mailto:alex.kanavin@gmail.com" target="_blank">alex.kanavin@gmail.com</a>&gt;<br>
&gt;  Date: Mon, 25 Mar 2019 18:52:48 +0100<br>
&gt;  Subject: [PATCH] mesonbuild/environment.py: check environment for various<br>
&gt; @@ -6,23 +6,21 @@ Subject: [PATCH] mesonbuild/environment.py: check environment for various<br>
&gt;<br>
&gt;  Upstream-Status: Inappropriate [oe-core specific]<br>
&gt;  Signed-off-by: Alexander Kanavin &lt;<a href="mailto:alex.kanavin@gmail.com" target="_blank">alex.kanavin@gmail.com</a>&gt;<br>
&gt; +<br>
&gt;  ---<br>
&gt;   mesonbuild/environment.py | 2 +-<br>
&gt;   1 file changed, 1 insertion(+), 1 deletion(-)<br>
&gt;<br>
&gt;  diff --git a/mesonbuild/environment.py b/mesonbuild/environment.py<br>
&gt; -index 6e5d689..bbfd87d 100644<br>
&gt; +index 9a029f4..0cfdf9c 100644<br>
&gt;  --- a/mesonbuild/environment.py<br>
&gt;  +++ b/mesonbuild/environment.py<br>
&gt; -@@ -398,7 +398,7 @@ class Environment:<br>
&gt; +@@ -448,7 +448,7 @@ class Environment:<br>
&gt;               config = MesonConfigFile.from_config_parser(<br>
&gt; -                 coredata.load_configs(self.coredata.cross_files, &#39;cross&#39;))<br>
&gt; -             self.properties.host = Properties(config.get(&#39;properties&#39;, {}), False)<br>
&gt; --            self.binaries.host = BinaryTable(config.get(&#39;binaries&#39;, {}), False)<br>
&gt; -+            self.binaries.host = BinaryTable(config.get(&#39;binaries&#39;, {}), True)<br>
&gt; +                 coredata.load_configs(self.coredata.cross_files))<br>
&gt; +             properties.host = Properties(config.get(&#39;properties&#39;, {}), False)<br>
&gt; +-            binaries.host = BinaryTable(config.get(&#39;binaries&#39;, {}), False)<br>
&gt; ++            binaries.host = BinaryTable(config.get(&#39;binaries&#39;, {}), True)<br>
&gt;               if &#39;host_machine&#39; in config:<br>
&gt; -                 self.machines.host = MachineInfo.from_literal(config[&#39;host_machine&#39;])<br>
&gt; +                 machines.host = MachineInfo.from_literal(config[&#39;host_machine&#39;])<br>
&gt;               if &#39;target_machine&#39; in config:<br>
&gt; ---<br>
&gt; -2.17.1<br>
&gt; -<br>
&gt; diff --git a/meta/recipes-devtools/meson/meson/0001-mesonbuild-environment.py-do-not-determine-whether-a.patch b/meta/recipes-devtools/meson/meson/0001-mesonbuild-environment.py-do-not-determine-whether-a.patch<br>
&gt; index 83347145417..8cb11879f4d 100644<br>
&gt; --- a/meta/recipes-devtools/meson/meson/0001-mesonbuild-environment.py-do-not-determine-whether-a.patch<br>
&gt; +++ b/meta/recipes-devtools/meson/meson/0001-mesonbuild-environment.py-do-not-determine-whether-a.patch<br>
&gt; @@ -1,4 +1,4 @@<br>
&gt; -From d9da5e7a16a9397e22a8900fac4b60b40d7f00de Mon Sep 17 00:00:00 2001<br>
&gt; +From ec9c4a22424a5d55fcf213a55d03f096ec24bcae Mon Sep 17 00:00:00 2001<br>
&gt;  From: Alexander Kanavin &lt;<a href="mailto:alex.kanavin@gmail.com" target="_blank">alex.kanavin@gmail.com</a>&gt;<br>
&gt;  Date: Mon, 25 Mar 2019 18:18:33 +0100<br>
&gt;  Subject: [PATCH] mesonbuild/environment.py: do not determine whether a build<br>
&gt; @@ -14,14 +14,14 @@ Signed-off-by: Alexander Kanavin &lt;<a href="mailto:alex.kanavin@gmail.com" target="_blank">alex.kanavin@gmail.com</a>&gt;<br>
&gt;   1 file changed, 1 insertion(+), 1 deletion(-)<br>
&gt;<br>
&gt;  diff --git a/mesonbuild/environment.py b/mesonbuild/environment.py<br>
&gt; -index d4f0630..c584fa4 100644<br>
&gt; +index 84a7596..9a029f4 100644<br>
&gt;  --- a/mesonbuild/environment.py<br>
&gt;  +++ b/mesonbuild/environment.py<br>
&gt; -@@ -483,7 +483,7 @@ class Environment:<br>
&gt; +@@ -520,7 +520,7 @@ class Environment:<br>
&gt;           self.first_invocation = True<br>
&gt;<br>
&gt; -     def is_cross_build(self):<br>
&gt; --        return self.coredata.cross_file is not None<br>
&gt; +     def is_cross_build(self) -&gt; bool:<br>
&gt; +-        return not self.machines.matches_build_machine(MachineChoice.HOST)<br>
&gt;  +        return self.need_exe_wrapper()<br>
&gt;<br>
&gt;       def dump_coredata(self):<br>
&gt; diff --git a/meta/recipes-devtools/meson/meson/0002-Support-building-allarch-recipes-again.patch b/meta/recipes-devtools/meson/meson/0002-Support-building-allarch-recipes-again.patch<br>
&gt; index e47e555324f..8ad86a46e99 100644<br>
&gt; --- a/meta/recipes-devtools/meson/meson/0002-Support-building-allarch-recipes-again.patch<br>
&gt; +++ b/meta/recipes-devtools/meson/meson/0002-Support-building-allarch-recipes-again.patch<br>
&gt; @@ -1,4 +1,4 @@<br>
&gt; -From 2164655328ec4e47335fc9033813274365491ad8 Mon Sep 17 00:00:00 2001<br>
&gt; +From 3009a1c2f1b736b836a057d84dc11f379cba99cf Mon Sep 17 00:00:00 2001<br>
&gt;  From: Peter Kjellerstedt &lt;<a href="mailto:pkj@axis.com" target="_blank">pkj@axis.com</a>&gt;<br>
&gt;  Date: Thu, 26 Jul 2018 16:32:49 +0200<br>
&gt;  Subject: [PATCH] Support building allarch recipes again<br>
&gt; @@ -13,10 +13,10 @@ Signed-off-by: Peter Kjellerstedt &lt;<a href="mailto:peter.kjellerstedt@axis.com" target="_blank">peter.kjellerstedt@axis.com</a>&gt;<br>
&gt;   1 file changed, 1 insertion(+)<br>
&gt;<br>
&gt;  diff --git a/mesonbuild/envconfig.py b/mesonbuild/envconfig.py<br>
&gt; -index 3f0a399..4509e09 100644<br>
&gt; +index 86b350b..aa426ca 100644<br>
&gt;  --- a/mesonbuild/envconfig.py<br>
&gt;  +++ b/mesonbuild/envconfig.py<br>
&gt; -@@ -34,6 +34,7 @@ from . import mlog<br>
&gt; +@@ -36,6 +36,7 @@ _T = typing.TypeVar(&#39;_T&#39;)<br>
&gt;<br>
&gt;<br>
&gt;   known_cpu_families = (<br>
&gt; diff --git a/meta/recipes-devtools/meson/meson/0003-native_bindir.patch b/meta/recipes-devtools/meson/meson/0003-native_bindir.patch<br>
&gt; index 2b22531dd0c..57de598d2f1 100644<br>
&gt; --- a/meta/recipes-devtools/meson/meson/0003-native_bindir.patch<br>
&gt; +++ b/meta/recipes-devtools/meson/meson/0003-native_bindir.patch<br>
&gt; @@ -1,4 +1,4 @@<br>
&gt; -From e762d85c823adfefc27ba6128c7b997aa50166ce Mon Sep 17 00:00:00 2001<br>
&gt; +From ac38495de38a1ea42e2bc09a2f23c2e945fbc22d Mon Sep 17 00:00:00 2001<br>
&gt;  From: Ricardo Ribalda Delgado &lt;<a href="mailto:ricardo.ribalda@gmail.com" target="_blank">ricardo.ribalda@gmail.com</a>&gt;<br>
&gt;  Date: Wed, 15 Nov 2017 15:05:01 +0100<br>
&gt;  Subject: [PATCH] native_bindir<br>
&gt; @@ -22,19 +22,19 @@ Signed-off-by: Ricardo Ribalda Delgado &lt;<a href="mailto:ricardo.ribalda@gmail.com" target="_blank">ricardo.ribalda@gmail.com</a>&gt;<br>
&gt;   2 files changed, 14 insertions(+), 11 deletions(-)<br>
&gt;<br>
&gt;  diff --git a/mesonbuild/dependencies/base.py b/mesonbuild/dependencies/base.py<br>
&gt; -index 6d3678f..90fdb80 100644<br>
&gt; +index 21da8e2..7d1ef85 100644<br>
&gt;  --- a/mesonbuild/dependencies/base.py<br>
&gt;  +++ b/mesonbuild/dependencies/base.py<br>
&gt; -@@ -146,7 +146,7 @@ class Dependency:<br>
&gt; -     def need_threads(self):<br>
&gt; -         return False<br>
&gt; +@@ -155,7 +155,7 @@ class Dependency:<br>
&gt; +     def get_exe_args(self, compiler):<br>
&gt; +         return []<br>
&gt;<br>
&gt;  -    def get_pkgconfig_variable(self, variable_name, kwargs):<br>
&gt;  +    def get_pkgconfig_variable(self, variable_name, kwargs, use_native=False):<br>
&gt;           raise DependencyException(&#39;{!r} is not a pkgconfig dependency&#39;.format(<a href="http://self.name" rel="noreferrer" target="_blank">self.name</a>))<br>
&gt;<br>
&gt;       def get_configtool_variable(self, variable_name):<br>
&gt; -@@ -183,7 +183,7 @@ class InternalDependency(Dependency):<br>
&gt; +@@ -214,7 +214,7 @@ class InternalDependency(Dependency):<br>
&gt;           self.sources = sources<br>
&gt;           self.ext_deps = ext_deps<br>
&gt;<br>
&gt; @@ -43,7 +43,7 @@ index 6d3678f..90fdb80 100644<br>
&gt;           raise DependencyException(&#39;Method &quot;get_pkgconfig_variable()&quot; is &#39;<br>
&gt;                                     &#39;invalid for an internal dependency&#39;)<br>
&gt;<br>
&gt; -@@ -523,15 +523,18 @@ class PkgConfigDependency(ExternalDependency):<br>
&gt; +@@ -639,15 +639,18 @@ class PkgConfigDependency(ExternalDependency):<br>
&gt;           return s.format(self.__class__.__name__, <a href="http://self.name" rel="noreferrer" target="_blank">self.name</a>, self.is_found,<br>
&gt;                           self.version_reqs)<br>
&gt;<br>
&gt; @@ -62,10 +62,10 @@ index 6d3678f..90fdb80 100644<br>
&gt;<br>
&gt;  -    def _call_pkgbin(self, args, env=None):<br>
&gt;  +    def _call_pkgbin(self, args, env=None, use_native=False):<br>
&gt; +         # Always copy the environment since we&#39;re going to modify it<br>
&gt; +         # with pkg-config variables<br>
&gt;           if env is None:<br>
&gt; -             fenv = env<br>
&gt; -             env = os.environ<br>
&gt; -@@ -540,7 +543,7 @@ class PkgConfigDependency(ExternalDependency):<br>
&gt; +@@ -663,7 +666,7 @@ class PkgConfigDependency(ExternalDependency):<br>
&gt;           targs = tuple(args)<br>
&gt;           cache = PkgConfigDependency.pkgbin_cache<br>
&gt;           if (self.pkgbin, targs, fenv) not in cache:<br>
&gt; @@ -74,7 +74,7 @@ index 6d3678f..90fdb80 100644<br>
&gt;           return cache[(self.pkgbin, targs, fenv)]<br>
&gt;<br>
&gt;       def _convert_mingw_paths(self, args):<br>
&gt; -@@ -718,7 +721,7 @@ class PkgConfigDependency(ExternalDependency):<br>
&gt; +@@ -845,7 +848,7 @@ class PkgConfigDependency(ExternalDependency):<br>
&gt;                                         (<a href="http://self.name" rel="noreferrer" target="_blank">self.name</a>, out_raw))<br>
&gt;           self.link_args, self.raw_link_args = self._search_libs(out, out_raw)<br>
&gt;<br>
&gt; @@ -83,7 +83,7 @@ index 6d3678f..90fdb80 100644<br>
&gt;           options = [&#39;--variable=&#39; + variable_name, <a href="http://self.name" rel="noreferrer" target="_blank">self.name</a>]<br>
&gt;<br>
&gt;           if &#39;define_variable&#39; in kwargs:<br>
&gt; -@@ -731,7 +734,7 @@ class PkgConfigDependency(ExternalDependency):<br>
&gt; +@@ -858,7 +861,7 @@ class PkgConfigDependency(ExternalDependency):<br>
&gt;<br>
&gt;               options = [&#39;--define-variable=&#39; + &#39;=&#39;.join(definition)] + options<br>
&gt;<br>
&gt; @@ -93,10 +93,10 @@ index 6d3678f..90fdb80 100644<br>
&gt;           if ret != 0:<br>
&gt;               if self.required:<br>
&gt;  diff --git a/mesonbuild/dependencies/ui.py b/mesonbuild/dependencies/ui.py<br>
&gt; -index 197d22c..c683d21 100644<br>
&gt; +index 6d784e6..73a9e13 100644<br>
&gt;  --- a/mesonbuild/dependencies/ui.py<br>
&gt;  +++ b/mesonbuild/dependencies/ui.py<br>
&gt; -@@ -285,7 +285,7 @@ class QtBaseDependency(ExternalDependency):<br>
&gt; +@@ -330,7 +330,7 @@ class QtBaseDependency(ExternalDependency):<br>
&gt;           self.bindir = self.get_pkgconfig_host_bins(core)<br>
&gt;           if not self.bindir:<br>
&gt;               # If exec_prefix is not defined, the pkg-config file is broken<br>
&gt; @@ -105,7 +105,7 @@ index 197d22c..c683d21 100644<br>
&gt;               if prefix:<br>
&gt;                   self.bindir = os.path.join(prefix, &#39;bin&#39;)<br>
&gt;<br>
&gt; -@@ -427,7 +427,7 @@ class Qt4Dependency(QtBaseDependency):<br>
&gt; +@@ -507,7 +507,7 @@ class Qt4Dependency(QtBaseDependency):<br>
&gt;           applications = [&#39;moc&#39;, &#39;uic&#39;, &#39;rcc&#39;, &#39;lupdate&#39;, &#39;lrelease&#39;]<br>
&gt;           for application in applications:<br>
&gt;               try:<br>
&gt; @@ -114,7 +114,7 @@ index 197d22c..c683d21 100644<br>
&gt;               except MesonException:<br>
&gt;                   pass<br>
&gt;<br>
&gt; -@@ -437,7 +437,7 @@ class Qt5Dependency(QtBaseDependency):<br>
&gt; +@@ -517,7 +517,7 @@ class Qt5Dependency(QtBaseDependency):<br>
&gt;           QtBaseDependency.__init__(self, &#39;qt5&#39;, env, kwargs)<br>
&gt;<br>
&gt;       def get_pkgconfig_host_bins(self, core):<br>
&gt; diff --git a/meta/recipes-devtools/meson/meson/0007-mesonbuild-allow-multiple-cross-file-options.patch b/meta/recipes-devtools/meson/meson/0007-mesonbuild-allow-multiple-cross-file-options.patch<br>
&gt; deleted file mode 100644<br>
&gt; index 6c2949c0e8b..00000000000<br>
&gt; --- a/meta/recipes-devtools/meson/meson/0007-mesonbuild-allow-multiple-cross-file-options.patch<br>
&gt; +++ /dev/null<br>
&gt; @@ -1,185 +0,0 @@<br>
&gt; -From 07ae4f949b8402cff178dd12c210d9a726ffe2da Mon Sep 17 00:00:00 2001<br>
&gt; -From: Ross Burton &lt;<a href="mailto:ross.burton@intel.com" target="_blank">ross.burton@intel.com</a>&gt;<br>
&gt; -Date: Mon, 18 Mar 2019 17:27:57 +0000<br>
&gt; -Subject: [PATCH] mesonbuild: allow multiple --cross-file options<br>
&gt; -<br>
&gt; -Just like --native-file, allow multiple --cross-file options.  This is mostly<br>
&gt; -unifying the logic between cross_files and config_files.<br>
&gt; -<br>
&gt; -Upstream-Status: Backport [will be in 0.50.1]<br>
&gt; -Signed-off-by: Ross Burton &lt;<a href="mailto:ross.burton@intel.com" target="_blank">ross.burton@intel.com</a>&gt;<br>
&gt; -<br>
&gt; ----<br>
&gt; - .../markdown/snippets/multiple-cross-files.md |  3 ++<br>
&gt; - mesonbuild/backend/backends.py                |  3 +-<br>
&gt; - mesonbuild/coredata.py                        | 52 +++----------------<br>
&gt; - mesonbuild/environment.py                     |  5 +-<br>
&gt; - mesonbuild/msetup.py                          |  4 +-<br>
&gt; - mesonbuild/munstable_coredata.py              |  5 +-<br>
&gt; - 6 files changed, 20 insertions(+), 52 deletions(-)<br>
&gt; - create mode 100644 docs/markdown/snippets/multiple-cross-files.md<br>
&gt; -<br>
&gt; -diff --git a/docs/markdown/snippets/multiple-cross-files.md b/docs/markdown/snippets/multiple-cross-files.md<br>
&gt; -new file mode 100644<br>
&gt; -index 0000000..de229be<br>
&gt; ---- /dev/null<br>
&gt; -+++ b/docs/markdown/snippets/multiple-cross-files.md<br>
&gt; -@@ -0,0 +1,3 @@<br>
&gt; -+## Multipe cross files can be specified<br>
&gt; -+<br>
&gt; -+`--cross-file` can be passed multiple times, with the configuration files overlaying the same way as `--native-file`.<br>
&gt; -diff --git a/mesonbuild/backend/backends.py b/mesonbuild/backend/backends.py<br>
&gt; -index 4d35d22..5b270d3 100644<br>
&gt; ---- a/mesonbuild/backend/backends.py<br>
&gt; -+++ b/mesonbuild/backend/backends.py<br>
&gt; -@@ -788,8 +788,7 @@ class Backend:<br>
&gt; -         deps = [os.path.join(self.build_to_src, df)<br>
&gt; -                 for df in self.interpreter.get_build_def_files()]<br>
&gt; -         if self.environment.is_cross_build():<br>
&gt; --            deps.append(os.path.join(self.build_to_src,<br>
&gt; --                                     self.environment.coredata.cross_file))<br>
&gt; -+            deps.extend(self.environment.coredata.cross_files)<br>
&gt; -         deps.append(&#39;meson-private/coredata.dat&#39;)<br>
&gt; -         if os.path.exists(os.path.join(self.environment.get_source_dir(), &#39;meson_options.txt&#39;)):<br>
&gt; -             deps.append(os.path.join(self.build_to_src, &#39;meson_options.txt&#39;))<br>
&gt; -diff --git a/mesonbuild/coredata.py b/mesonbuild/coredata.py<br>
&gt; -index 066ad30..d80e9a0 100644<br>
&gt; ---- a/mesonbuild/coredata.py<br>
&gt; -+++ b/mesonbuild/coredata.py<br>
&gt; -@@ -265,7 +265,7 @@ class CoreData:<br>
&gt; -         self.compiler_options = PerMachine({}, {}, {})<br>
&gt; -         self.base_options = {}<br>
&gt; -         self.external_preprocess_args = PerMachine({}, {}, {}) # CPPFLAGS only<br>
&gt; --        self.cross_file = self.__load_cross_file(options.cross_file)<br>
&gt; -+        self.cross_files = self.__load_config_files(options.cross_file)<br>
&gt; -         self.compilers = OrderedDict()<br>
&gt; -         self.cross_compilers = OrderedDict()<br>
&gt; -         self.deps = OrderedDict()<br>
&gt; -@@ -276,57 +276,19 @@ class CoreData:<br>
&gt; -<br>
&gt; -     @staticmethod<br>
&gt; -     def __load_config_files(filenames):<br>
&gt; -+        # Need to try and make the passed filenames absolute because when the<br>
&gt; -+        # files are parsed later we&#39;ll have chdir()d.<br>
&gt; -         if not filenames:<br>
&gt; -             return []<br>
&gt; -         filenames = [os.path.abspath(os.path.expanduser(os.path.expanduser(f)))<br>
&gt; -                      for f in filenames]<br>
&gt; -         return filenames<br>
&gt; -<br>
&gt; --    @staticmethod<br>
&gt; --    def __load_cross_file(filename):<br>
&gt; --        &quot;&quot;&quot;Try to load the cross file.<br>
&gt; --<br>
&gt; --        If the filename is None return None. If the filename is an absolute<br>
&gt; --        (after resolving variables and ~), return that absolute path. Next,<br>
&gt; --        check if the file is relative to the current source dir. If the path<br>
&gt; --        still isn&#39;t resolved do the following:<br>
&gt; --            Windows:<br>
&gt; --                - Error<br>
&gt; --            *:<br>
&gt; --                - $XDG_DATA_HOME/meson/cross (or ~/.local/share/meson/cross if<br>
&gt; --                  undefined)<br>
&gt; --                - $XDG_DATA_DIRS/meson/cross (or<br>
&gt; --                  /usr/local/share/meson/cross:/usr/share/meson/cross if undefined)<br>
&gt; --                - Error<br>
&gt; --<br>
&gt; --        Non-Windows follows the Linux path and will honor XDG_* if set. This<br>
&gt; --        simplifies the implementation somewhat.<br>
&gt; --        &quot;&quot;&quot;<br>
&gt; --        if filename is None:<br>
&gt; --            return None<br>
&gt; --        filename = os.path.expanduser(os.path.expandvars(filename))<br>
&gt; --        if os.path.isabs(filename):<br>
&gt; --            return filename<br>
&gt; --        path_to_try = os.path.abspath(filename)<br>
&gt; --        if os.path.isfile(path_to_try):<br>
&gt; --            return path_to_try<br>
&gt; --        if sys.platform != &#39;win32&#39;:<br>
&gt; --            paths = [<br>
&gt; --                os.environ.get(&#39;XDG_DATA_HOME&#39;, os.path.expanduser(&#39;~/.local/share&#39;)),<br>
&gt; --            ] + os.environ.get(&#39;XDG_DATA_DIRS&#39;, &#39;/usr/local/share:/usr/share&#39;).split(&#39;:&#39;)<br>
&gt; --            for path in paths:<br>
&gt; --                path_to_try = os.path.join(path, &#39;meson&#39;, &#39;cross&#39;, filename)<br>
&gt; --                if os.path.isfile(path_to_try):<br>
&gt; --                    return path_to_try<br>
&gt; --            raise MesonException(&#39;Cannot find specified cross file: &#39; + filename)<br>
&gt; --<br>
&gt; --        raise MesonException(&#39;Cannot find specified cross file: &#39; + filename)<br>
&gt; --<br>
&gt; -     def libdir_cross_fixup(self):<br>
&gt; -         # By default set libdir to &quot;lib&quot; when cross compiling since<br>
&gt; -         # getting the &quot;system default&quot; is always wrong on multiarch<br>
&gt; -         # platforms as it gets a value like lib/x86_64-linux-gnu.<br>
&gt; --        if self.cross_file is not None:<br>
&gt; -+        if self.cross_files:<br>
&gt; -             self.builtins[&#39;libdir&#39;].value = &#39;lib&#39;<br>
&gt; -<br>
&gt; -     def sanitize_prefix(self, prefix):<br>
&gt; -@@ -642,8 +604,8 @@ def read_cmd_line_file(build_dir, options):<br>
&gt; -     options.cmd_line_options = d<br>
&gt; -<br>
&gt; -     properties = config[&#39;properties&#39;]<br>
&gt; --    if options.cross_file is None:<br>
&gt; --        options.cross_file = properties.get(&#39;cross_file&#39;, None)<br>
&gt; -+    if not options.cross_file:<br>
&gt; -+        options.cross_file = ast.literal_eval(properties.get(&#39;cross_file&#39;, &#39;[]&#39;))<br>
&gt; -     if not options.native_file:<br>
&gt; -         # This will be a string in the form: &quot;[&#39;first&#39;, &#39;second&#39;, ...]&quot;, use<br>
&gt; -         # literal_eval to get it into the list of strings.<br>
&gt; -@@ -654,7 +616,7 @@ def write_cmd_line_file(build_dir, options):<br>
&gt; -     config = CmdLineFileParser()<br>
&gt; -<br>
&gt; -     properties = {}<br>
&gt; --    if options.cross_file is not None:<br>
&gt; -+    if options.cross_file:<br>
&gt; -         properties[&#39;cross_file&#39;] = options.cross_file<br>
&gt; -     if options.native_file:<br>
&gt; -         properties[&#39;native_file&#39;] = options.native_file<br>
&gt; -diff --git a/mesonbuild/environment.py b/mesonbuild/environment.py<br>
&gt; -index c25ef33..4c1c5ac 100644<br>
&gt; ---- a/mesonbuild/environment.py<br>
&gt; -+++ b/mesonbuild/environment.py<br>
&gt; -@@ -394,8 +394,9 @@ class Environment:<br>
&gt; -             self.binaries.build = BinaryTable(config.get(&#39;binaries&#39;, {}))<br>
&gt; -             self.paths.build = Directories(**config.get(&#39;paths&#39;, {}))<br>
&gt; -<br>
&gt; --        if self.coredata.cross_file is not None:<br>
&gt; --            config = MesonConfigFile.parse_datafile(self.coredata.cross_file)<br>
&gt; -+        if self.coredata.cross_files:<br>
&gt; -+            config = MesonConfigFile.from_config_parser(<br>
&gt; -+                coredata.load_configs(self.coredata.cross_files, &#39;cross&#39;))<br>
&gt; -             self.properties.host = Properties(config.get(&#39;properties&#39;, {}), False)<br>
&gt; -             self.binaries.host = BinaryTable(config.get(&#39;binaries&#39;, {}), False)<br>
&gt; -             if &#39;host_machine&#39; in config:<br>
&gt; -diff --git a/mesonbuild/msetup.py b/mesonbuild/msetup.py<br>
&gt; -index 023afdb..6e8ca83 100644<br>
&gt; ---- a/mesonbuild/msetup.py<br>
&gt; -+++ b/mesonbuild/msetup.py<br>
&gt; -@@ -29,7 +29,9 @@ from .mesonlib import MesonException<br>
&gt; -<br>
&gt; - def add_arguments(parser):<br>
&gt; -     coredata.register_builtin_arguments(parser)<br>
&gt; --    parser.add_argument(&#39;--cross-file&#39;, default=None,<br>
&gt; -+    parser.add_argument(&#39;--cross-file&#39;,<br>
&gt; -+                        default=[],<br>
&gt; -+                        action=&#39;append&#39;,<br>
&gt; -                         help=&#39;File describing cross compilation environment.&#39;)<br>
&gt; -     parser.add_argument(&#39;--native-file&#39;,<br>
&gt; -                         default=[],<br>
&gt; -diff --git a/mesonbuild/munstable_coredata.py b/mesonbuild/munstable_coredata.py<br>
&gt; -index 78f3f34..913f942 100644<br>
&gt; ---- a/mesonbuild/munstable_coredata.py<br>
&gt; -+++ b/mesonbuild/munstable_coredata.py<br>
&gt; -@@ -81,8 +81,9 @@ def run(options):<br>
&gt; -             print(&#39;Last seen PKGCONFIG enviroment variable value: &#39; + v)<br>
&gt; -         elif k == &#39;version&#39;:<br>
&gt; -             print(&#39;Meson version: &#39; + v)<br>
&gt; --        elif k == &#39;cross_file&#39;:<br>
&gt; --            print(&#39;Cross File: &#39; + (v or &#39;None&#39;))<br>
&gt; -+        elif k == &#39;cross_files&#39;:<br>
&gt; -+            if v:<br>
&gt; -+                print(&#39;Cross File: &#39; + &#39; &#39;.join(v))<br>
&gt; -         elif k == &#39;config_files&#39;:<br>
&gt; -             if v:<br>
&gt; -                 print(&#39;Native File: &#39; + &#39; &#39;.join(v))<br>
&gt; diff --git a/meta/recipes-devtools/meson/meson/load-configs-generalise-search-path.patch b/meta/recipes-devtools/meson/meson/load-configs-generalise-search-path.patch<br>
&gt; deleted file mode 100644<br>
&gt; index 2056763db5d..00000000000<br>
&gt; --- a/meta/recipes-devtools/meson/meson/load-configs-generalise-search-path.patch<br>
&gt; +++ /dev/null<br>
&gt; @@ -1,53 +0,0 @@<br>
&gt; -From d57dd1092e84e08ee15d7063b6c56bd6d864f2e1 Mon Sep 17 00:00:00 2001<br>
&gt; -From: Ross Burton &lt;<a href="mailto:ross.burton@intel.com" target="_blank">ross.burton@intel.com</a>&gt;<br>
&gt; -Date: Mon, 18 Mar 2019 16:16:56 +0000<br>
&gt; -Subject: [PATCH] load_configs: generalise the search path<br>
&gt; -<br>
&gt; -Instead of hard-coding the fact that load_configs() searches for files under<br>
&gt; -meson/native, pass in the subdirectory allowing the cross-file code to use the<br>
&gt; -same logic.<br>
&gt; -<br>
&gt; -Upstream-Status: Backport<br>
&gt; -Signed-off-by: Alexander Kanavin &lt;<a href="mailto:alex.kanavin@gmail.com" target="_blank">alex.kanavin@gmail.com</a>&gt;<br>
&gt; ----<br>
&gt; - mesonbuild/coredata.py    | 6 +++---<br>
&gt; - mesonbuild/environment.py | 2 +-<br>
&gt; - 2 files changed, 4 insertions(+), 4 deletions(-)<br>
&gt; -<br>
&gt; -diff --git a/mesonbuild/coredata.py b/mesonbuild/coredata.py<br>
&gt; -index fba90fa369..6e60917d10 100644<br>
&gt; ---- a/mesonbuild/coredata.py<br>
&gt; -+++ b/mesonbuild/coredata.py<br>
&gt; -@@ -211,8 +211,8 @@ def is_auto(self):<br>
&gt; -         return self.value == &#39;auto&#39;<br>
&gt; -<br>
&gt; -<br>
&gt; --def load_configs(filenames):<br>
&gt; --    &quot;&quot;&quot;Load native files.&quot;&quot;&quot;<br>
&gt; -+def load_configs(filenames, subdir):<br>
&gt; -+    &quot;&quot;&quot;Load configuration files from a named subdirectory.&quot;&quot;&quot;<br>
&gt; -     def gen():<br>
&gt; -         for f in filenames:<br>
&gt; -             f = os.path.expanduser(os.path.expandvars(f))<br>
&gt; -@@ -225,7 +225,7 @@ def gen():<br>
&gt; -                     os.environ.get(&#39;XDG_DATA_HOME&#39;, os.path.expanduser(&#39;~/.local/share&#39;)),<br>
&gt; -                 ] + os.environ.get(&#39;XDG_DATA_DIRS&#39;, &#39;/usr/local/share:/usr/share&#39;).split(&#39;:&#39;)<br>
&gt; -                 for path in paths:<br>
&gt; --                    path_to_try = os.path.join(path, &#39;meson&#39;, &#39;native&#39;, f)<br>
&gt; -+                    path_to_try = os.path.join(path, &#39;meson&#39;, subdir, f)<br>
&gt; -                     if os.path.isfile(path_to_try):<br>
&gt; -                         yield path_to_try<br>
&gt; -                         break<br>
&gt; -diff --git a/mesonbuild/environment.py b/mesonbuild/environment.py<br>
&gt; -index 58adb06960..92a00dd7bf 100644<br>
&gt; ---- a/mesonbuild/environment.py<br>
&gt; -+++ b/mesonbuild/environment.py<br>
&gt; -@@ -408,7 +408,7 @@ def __init__(self, source_dir, build_dir, options):<br>
&gt; -<br>
&gt; -         if self.coredata.config_files is not None:<br>
&gt; -             config = MesonConfigFile.from_config_parser(<br>
&gt; --                coredata.load_configs(self.coredata.config_files))<br>
&gt; -+                coredata.load_configs(self.coredata.config_files, &#39;native&#39;))<br>
&gt; -             self.binaries.build = BinaryTable(config.get(&#39;binaries&#39;, {}))<br>
&gt; -             self.paths.build = Directories(**config.get(&#39;paths&#39;, {}))<br>
&gt; -<br>
&gt; diff --git a/meta/recipes-devtools/meson/<a href="http://meson_0.50.1.bb" rel="noreferrer" target="_blank">meson_0.50.1.bb</a> b/meta/recipes-devtools/meson/<a href="http://meson_0.51.1.bb" rel="noreferrer" target="_blank">meson_0.51.1.bb</a><br>
&gt; similarity index 100%<br>
&gt; rename from meta/recipes-devtools/meson/<a href="http://meson_0.50.1.bb" rel="noreferrer" target="_blank">meson_0.50.1.bb</a><br>
&gt; rename to meta/recipes-devtools/meson/<a href="http://meson_0.51.1.bb" rel="noreferrer" target="_blank">meson_0.51.1.bb</a><br>
&gt; diff --git a/meta/recipes-devtools/meson/<a href="http://nativesdk-meson_0.50.1.bb" rel="noreferrer" target="_blank">nativesdk-meson_0.50.1.bb</a> b/meta/recipes-devtools/meson/<a href="http://nativesdk-meson_0.51.1.bb" rel="noreferrer" target="_blank">nativesdk-meson_0.51.1.bb</a><br>
&gt; similarity index 100%<br>
&gt; rename from meta/recipes-devtools/meson/<a href="http://nativesdk-meson_0.50.1.bb" rel="noreferrer" target="_blank">nativesdk-meson_0.50.1.bb</a><br>
&gt; rename to meta/recipes-devtools/meson/<a href="http://nativesdk-meson_0.51.1.bb" rel="noreferrer" target="_blank">nativesdk-meson_0.51.1.bb</a><br>
&gt; --<br>
&gt; 2.17.1<br>
&gt;<br>
&gt; --<br>
&gt; _______________________________________________<br>
&gt; Openembedded-core mailing list<br>
&gt; <a href="mailto:Openembedded-core@lists.openembedded.org" target="_blank">Openembedded-core@lists.openembedded.org</a><br>
&gt; <a href="http://lists.openembedded.org/mailman/listinfo/openembedded-core" rel="noreferrer" target="_blank">http://lists.openembedded.org/mailman/listinfo/openembedded-core</a><br>
</blockquote></div>