@@ -254,7 +254,6 @@ class GnomeModule(ExtensionModule):
254254
255255    def  __init__ (self , interpreter : 'Interpreter' ) ->  None :
256256        super ().__init__ (interpreter )
257-         self .gir_dep : T .Optional [Dependency ] =  None 
258257        self .giscanner : T .Optional [ToolType ] =  None 
259258        self .gicompiler : T .Optional [ToolType ] =  None 
260259        self .install_glib_compile_schemas  =  False 
@@ -788,20 +787,18 @@ def postconf_hook(self, b: build.Build) -> None:
788787        if  self .devenv  is  not   None :
789788            b .devenv .append (self .devenv )
790789
791-     def  _get_gir_dep (self , state : 'ModuleState' ) ->  T .Tuple [Dependency , T .Union [Executable , 'ExternalProgram' , 'OverrideProgram' ],
792-                                                             T .Union [Executable , 'ExternalProgram' , 'OverrideProgram' ]]:
793-         if  not  self .gir_dep :
794-             self .gir_dep  =  state .dependency ('gobject-introspection-1.0' )
795-             self .giscanner  =  self ._find_tool (state , 'g-ir-scanner' )
796-             self .gicompiler  =  self ._find_tool (state , 'g-ir-compiler' )
797-         return  self .gir_dep , self .giscanner , self .gicompiler 
790+     def  _get_gi (self , state : 'ModuleState' ) ->  T .Tuple [ToolType , ToolType ]:
791+         if  not  self .giscanner :
792+             self .giscanner  =  self ._find_tool (state , 'g-ir-scanner' , for_machine = MachineChoice .BUILD )
793+             self .gicompiler  =  self ._find_tool (state , 'g-ir-compiler' , for_machine = MachineChoice .HOST )
794+         return  self .giscanner , self .gicompiler 
798795
799796    def  _giscanner_version_compare (self , state : 'ModuleState' , cmp : str ) ->  bool :
800797        # Support for --version was introduced in g-i 1.58, but Ubuntu 
801798        # Bionic shipped 1.56.1. As all our version checks are greater 
802799        # than 1.58, we can just return False if get_version fails. 
803800        try :
804-             giscanner , _ ,  _   =  self ._get_gir_dep (state )
801+             giscanner , _   =  self ._get_gi (state )
805802            return  mesonlib .version_compare (giscanner .get_version (), cmp )
806803        except  MesonException :
807804            return  False 
@@ -997,6 +994,8 @@ def _make_gir_target(
997994        run_env .set ('CFLAGS' , [quote_arg (x ) for  x  in  env_flags ], ' ' )
998995        run_env .merge (kwargs ['env' ])
999996
997+         giscanner , _  =  self ._get_gi (state )
998+ 
1000999        # response file supported? 
10011000        rspable  =  self ._giscanner_version_compare (state , '>= 1.85.0' )
10021001
@@ -1150,7 +1149,7 @@ def generate_gir(self, state: 'ModuleState', args: T.Tuple[T.List[T.Union[Execut
11501149        if  len (girtargets ) >  1  and  any (isinstance (el , Executable ) for  el  in  girtargets ):
11511150            raise  MesonException ('generate_gir only accepts a single argument when one of the arguments is an executable' )
11521151
1153-         gir_dep ,  giscanner , gicompiler  =  self ._get_gir_dep (state )
1152+         giscanner , gicompiler  =  self ._get_gi (state )
11541153
11551154        ns  =  kwargs ['namespace' ]
11561155        nsversion  =  kwargs ['nsversion' ]
@@ -1161,14 +1160,13 @@ def generate_gir(self, state: 'ModuleState', args: T.Tuple[T.List[T.Union[Execut
11611160        builddir  =  os .path .join (state .environment .get_build_dir (), state .subdir )
11621161
11631162        depends : T .List [T .Union ['FileOrString' , 'build.GeneratedTypes' , build .BuildTarget , build .StructuredSources ]] =  []
1164-         depends .extend (gir_dep .sources )
11651163        depends .extend (girtargets )
11661164
11671165        langs_compilers  =  self ._get_girtargets_langs_compilers (girtargets )
11681166        cflags , internal_ldflags , external_ldflags  =  self ._get_langs_compilers_flags (state , langs_compilers )
11691167        deps  =  self ._get_gir_targets_deps (girtargets )
11701168        deps  +=  kwargs ['dependencies' ]
1171-         deps  +=  [gir_dep ]
1169+         deps  +=  [state . dependency ( 'glib-2.0' ),  state . dependency ( 'gobject-2.0' ),  state . dependency ( 'gmodule-2.0' ),  state . dependency ( 'gio-2.0' ) ]
11721170        typelib_includes , depends  =  self ._gather_typelib_includes_and_update_depends (state , deps , depends )
11731171        # ldflags will be misinterpreted by gir scanner (showing 
11741172        # spurious dependencies) but building GStreamer fails if they 
0 commit comments