@@ -254,7 +254,6 @@ class GnomeModule(ExtensionModule):
254
254
255
255
def __init__ (self , interpreter : 'Interpreter' ) -> None :
256
256
super ().__init__ (interpreter )
257
- self .gir_dep : T .Optional [Dependency ] = None
258
257
self .giscanner : T .Optional [ToolType ] = None
259
258
self .gicompiler : T .Optional [ToolType ] = None
260
259
self .install_glib_compile_schemas = False
@@ -788,20 +787,18 @@ def postconf_hook(self, b: build.Build) -> None:
788
787
if self .devenv is not None :
789
788
b .devenv .append (self .devenv )
790
789
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
798
795
799
796
def _giscanner_version_compare (self , state : 'ModuleState' , cmp : str ) -> bool :
800
797
# Support for --version was introduced in g-i 1.58, but Ubuntu
801
798
# Bionic shipped 1.56.1. As all our version checks are greater
802
799
# than 1.58, we can just return False if get_version fails.
803
800
try :
804
- giscanner , _ , _ = self ._get_gir_dep (state )
801
+ giscanner , _ = self ._get_gi (state )
805
802
return mesonlib .version_compare (giscanner .get_version (), cmp )
806
803
except MesonException :
807
804
return False
@@ -997,6 +994,8 @@ def _make_gir_target(
997
994
run_env .set ('CFLAGS' , [quote_arg (x ) for x in env_flags ], ' ' )
998
995
run_env .merge (kwargs ['env' ])
999
996
997
+ giscanner , _ = self ._get_gi (state )
998
+
1000
999
# response file supported?
1001
1000
rspable = self ._giscanner_version_compare (state , '>= 1.85.0' )
1002
1001
@@ -1150,7 +1149,7 @@ def generate_gir(self, state: 'ModuleState', args: T.Tuple[T.List[T.Union[Execut
1150
1149
if len (girtargets ) > 1 and any (isinstance (el , Executable ) for el in girtargets ):
1151
1150
raise MesonException ('generate_gir only accepts a single argument when one of the arguments is an executable' )
1152
1151
1153
- gir_dep , giscanner , gicompiler = self ._get_gir_dep (state )
1152
+ giscanner , gicompiler = self ._get_gi (state )
1154
1153
1155
1154
ns = kwargs ['namespace' ]
1156
1155
nsversion = kwargs ['nsversion' ]
@@ -1161,14 +1160,13 @@ def generate_gir(self, state: 'ModuleState', args: T.Tuple[T.List[T.Union[Execut
1161
1160
builddir = os .path .join (state .environment .get_build_dir (), state .subdir )
1162
1161
1163
1162
depends : T .List [T .Union ['FileOrString' , 'build.GeneratedTypes' , build .BuildTarget , build .StructuredSources ]] = []
1164
- depends .extend (gir_dep .sources )
1165
1163
depends .extend (girtargets )
1166
1164
1167
1165
langs_compilers = self ._get_girtargets_langs_compilers (girtargets )
1168
1166
cflags , internal_ldflags , external_ldflags = self ._get_langs_compilers_flags (state , langs_compilers )
1169
1167
deps = self ._get_gir_targets_deps (girtargets )
1170
1168
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' ) ]
1172
1170
typelib_includes , depends = self ._gather_typelib_includes_and_update_depends (state , deps , depends )
1173
1171
# ldflags will be misinterpreted by gir scanner (showing
1174
1172
# spurious dependencies) but building GStreamer fails if they
0 commit comments