aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJames Hilliard <james.hilliard1@gmail.com>2020-05-02 20:43:36 -0600
committerXavier Claessens <xclaesse@gmail.com>2020-05-07 10:19:34 -0400
commit1e073c4c1bd7de06bc74d84e3807c9b210e57a22 (patch)
treec34a499bbe3e6090ec4586ffb05f6df0ffbdcb58
parent247eecc8fc61822e10ccbef54641fd326484a80a (diff)
downloadmeson-1e073c4c1bd7de06bc74d84e3807c9b210e57a22.zip
meson-1e073c4c1bd7de06bc74d84e3807c9b210e57a22.tar.gz
meson-1e073c4c1bd7de06bc74d84e3807c9b210e57a22.tar.bz2
Allow overriding g-ir-scanner and g-ir-compiler binaries.
This is useful when one needs to force meson to use wrappers for cross compilation. Signed-off-by: James Hilliard <james.hilliard1@gmail.com>
-rw-r--r--mesonbuild/modules/gnome.py12
1 files changed, 10 insertions, 2 deletions
diff --git a/mesonbuild/modules/gnome.py b/mesonbuild/modules/gnome.py
index 7629f18..a97fffa 100644
--- a/mesonbuild/modules/gnome.py
+++ b/mesonbuild/modules/gnome.py
@@ -406,11 +406,19 @@ class GnomeModule(ExtensionModule):
kwargs = {'native': True, 'required': True}
holder = self.interpreter.func_dependency(state.current_node, ['gobject-introspection-1.0'], kwargs)
self.gir_dep = holder.held_object
- if self.gir_dep.type_name == 'pkgconfig':
+ giscanner = state.environment.lookup_binary_entry(MachineChoice.HOST, 'g-ir-scanner')
+ if giscanner is not None:
+ self.giscanner = ExternalProgram.from_entry('g-ir-scanner', giscanner)
+ elif self.gir_dep.type_name == 'pkgconfig':
self.giscanner = ExternalProgram('g_ir_scanner', self.gir_dep.get_pkgconfig_variable('g_ir_scanner', {}))
- self.gicompiler = ExternalProgram('g_ir_compiler', self.gir_dep.get_pkgconfig_variable('g_ir_compiler', {}))
else:
self.giscanner = self.interpreter.find_program_impl('g-ir-scanner')
+ gicompiler = state.environment.lookup_binary_entry(MachineChoice.HOST, 'g-ir-compiler')
+ if gicompiler is not None:
+ self.gicompiler = ExternalProgram.from_entry('g-ir-compiler', gicompiler)
+ elif self.gir_dep.type_name == 'pkgconfig':
+ self.gicompiler = ExternalProgram('g_ir_compiler', self.gir_dep.get_pkgconfig_variable('g_ir_compiler', {}))
+ else:
self.gicompiler = self.interpreter.find_program_impl('g-ir-compiler')
return self.gir_dep, self.giscanner, self.gicompiler