diff options
author | James Hilliard <james.hilliard1@gmail.com> | 2020-05-02 20:43:36 -0600 |
---|---|---|
committer | Xavier Claessens <xclaesse@gmail.com> | 2020-05-07 10:19:34 -0400 |
commit | 1e073c4c1bd7de06bc74d84e3807c9b210e57a22 (patch) | |
tree | c34a499bbe3e6090ec4586ffb05f6df0ffbdcb58 | |
parent | 247eecc8fc61822e10ccbef54641fd326484a80a (diff) | |
download | meson-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.py | 12 |
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 |