Skip to content

Commit

Permalink
Allow overriding g-ir-scanner and g-ir-compiler binaries.
Browse files Browse the repository at this point in the history
This is useful when one needs to force meson to use wrappers for cross
compilation.

Signed-off-by: James Hilliard <[email protected]>
  • Loading branch information
jameshilliard committed May 3, 2020
1 parent f8a04f0 commit c29f266
Showing 1 changed file with 15 additions and 5 deletions.
20 changes: 15 additions & 5 deletions mesonbuild/modules/gnome.py
Original file line number Diff line number Diff line change
Expand Up @@ -406,12 +406,22 @@ def _get_gir_dep(self, state):
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':
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', {}))
giscanner = state.environment.lookup_binary_entry(MachineChoice.HOST, 'g-ir-scanner')
if giscanner is not None:
self.giscanner = ExternalProgram.from_bin_list(state.environment, MachineChoice.HOST, 'g-ir-scanner')
else:
self.giscanner = self.interpreter.find_program_impl('g-ir-scanner')
self.gicompiler = self.interpreter.find_program_impl('g-ir-compiler')
if self.gir_dep.type_name == 'pkgconfig':
self.giscanner = ExternalProgram('g_ir_scanner', self.gir_dep.get_pkgconfig_variable('g_ir_scanner', {}))
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_bin_list(state.environment, MachineChoice.HOST, 'g-ir-compiler')
else:
if 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

@functools.lru_cache(maxsize=None)
Expand Down

0 comments on commit c29f266

Please sign in to comment.