summaryrefslogtreecommitdiffstats
path: root/meta/recipes-devtools/meson/meson/gi-target-dep.patch
diff options
context:
space:
mode:
Diffstat (limited to 'meta/recipes-devtools/meson/meson/gi-target-dep.patch')
-rw-r--r--meta/recipes-devtools/meson/meson/gi-target-dep.patch41
1 files changed, 41 insertions, 0 deletions
diff --git a/meta/recipes-devtools/meson/meson/gi-target-dep.patch b/meta/recipes-devtools/meson/meson/gi-target-dep.patch
new file mode 100644
index 0000000000..25b30ca27a
--- /dev/null
+++ b/meta/recipes-devtools/meson/meson/gi-target-dep.patch
@@ -0,0 +1,41 @@
+When building gobject-introspection we want the *native* binaries (as they need
+to be executed) but *host* gobject-introspection libraries, as otherwise the
+native pkg-config can be used and the build will try to link native and host
+binaries together.
+
+Upstream-Status: Pending
+Signed-off-by: Ross Burton <ross.burton@arm.com>
+
+diff --git a/mesonbuild/modules/gnome.py b/mesonbuild/modules/gnome.py
+index f9660838e..2eefc3fc7 100644
+--- a/mesonbuild/modules/gnome.py
++++ b/mesonbuild/modules/gnome.py
+@@ -84,8 +84,8 @@ class GnomeModule(ExtensionModule):
+ mlog.bold('https://github.com/mesonbuild/meson/issues/1387'),
+ once=True)
+
+- def _get_native_dep(self, state, depname, required=True):
+- kwargs = {'native': True, 'required': required}
++ def _get_dep(self, state, depname, native=False, required=True):
++ kwargs = {'native': native, 'required': required}
+ holder = self.interpreter.func_dependency(state.current_node, [depname], kwargs)
+ return holder.held_object
+
+@@ -101,7 +101,7 @@ class GnomeModule(ExtensionModule):
+ return ExternalProgram.from_entry(name, prog)
+
+ # Check if pkgconfig has a variable
+- dep = self._get_native_dep(state, depname, required=False)
++ dep = self._get_dep(state, depname, native=True, required=False)
+ if dep.found() and dep.type_name == 'pkgconfig':
+ value = dep.get_pkgconfig_variable(varname, {})
+ if value:
+@@ -481,7 +481,7 @@ class GnomeModule(ExtensionModule):
+
+ def _get_gir_dep(self, state):
+ if not self.gir_dep:
+- self.gir_dep = self._get_native_dep(state, 'gobject-introspection-1.0')
++ self.gir_dep = self._get_dep(state, 'gobject-introspection-1.0')
+ self.giscanner = self._get_native_binary(state, 'g-ir-scanner', 'gobject-introspection-1.0', 'g_ir_scanner')
+ self.gicompiler = self._get_native_binary(state, 'g-ir-compiler', 'gobject-introspection-1.0', 'g_ir_compiler')
+ return self.gir_dep, self.giscanner, self.gicompiler