From edec2ee0eeccbe9774d15aee56d492438248fbb4 Mon Sep 17 00:00:00 2001 From: Thibault Saunier Date: Thu, 15 Aug 2019 21:56:21 -0400 Subject: gnome: Handle overriden g-ir-scanner When g-ir-scanner is overriden, we can't call it at configure time but we know what options are avalaible (as it started using meson after checked options where added) so do not try to call it to retrieve the version as it will fail. Also see https://github.com/mesonbuild/meson/issues/3442 --- mesonbuild/modules/gnome.py | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) (limited to 'mesonbuild/modules') diff --git a/mesonbuild/modules/gnome.py b/mesonbuild/modules/gnome.py index dc5ef20..4e97d3a 100644 --- a/mesonbuild/modules/gnome.py +++ b/mesonbuild/modules/gnome.py @@ -54,8 +54,14 @@ def gir_has_option(intr_obj, option): _gir_has_option[option] = False try: - g_ir_scanner = intr_obj.find_program_impl('g-ir-scanner').get_command() - opts = Popen_safe(g_ir_scanner + ['--help'], stderr=subprocess.STDOUT)[1] + g_ir_scanner = intr_obj.find_program_impl('g-ir-scanner') + # Handle overriden g-ir-scanner + if isinstance(getattr(g_ir_scanner, "held_object", g_ir_scanner), interpreter.OverrideProgram): + assert option in ['--extra-library', '--sources-top-dirs'] + _gir_has_option[option] = True + return True + + opts = Popen_safe(g_ir_scanner.get_command() + ['--help'], stderr=subprocess.STDOUT)[1] _gir_has_option[option] = option in opts except (MesonException, FileNotFoundError, subprocess.CalledProcessError): pass -- cgit v1.1