Skip to content

Commit 150109d

Browse files
committed
gnome.generate_gir: Use rspfiles on Windows when possible
I ran into GStreamer's CI being overwhelmed by a 5k long command line to g-ir-scanner. This will help bypass the limitation. See https://gitlab.gnome.org/GNOME/gobject-introspection/-/merge_requests/532 See #6710
1 parent 852a580 commit 150109d

File tree

1 file changed

+8
-1
lines changed

1 file changed

+8
-1
lines changed

mesonbuild/modules/gnome.py

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -959,8 +959,8 @@ def _make_gir_filelist(state: 'ModuleState', srcdir: str, ns: str,
959959

960960
return gir_filelist_filename
961961

962-
@staticmethod
963962
def _make_gir_target(
963+
self,
964964
state: 'ModuleState',
965965
girfile: str,
966966
scan_command: T.Sequence[T.Union['FileOrString', Executable, ExternalProgram, OverrideProgram]],
@@ -990,6 +990,12 @@ def _make_gir_target(
990990
run_env.set('CFLAGS', [quote_arg(x) for x in env_flags], ' ')
991991
run_env.merge(kwargs['env'])
992992

993+
gir_dep, _, _ = self._get_gir_dep(state)
994+
995+
# response file supported?
996+
rspable = (mesonlib.is_windows() or mesonlib.is_cygwin()) and \
997+
mesonlib.version_compare(gir_dep.get_version(), '>= 1.85.0')
998+
993999
return GirTarget(
9941000
girfile,
9951001
state.subdir,
@@ -1004,6 +1010,7 @@ def _make_gir_target(
10041010
install_dir=[install_dir],
10051011
install_tag=['devel'],
10061012
env=run_env,
1013+
rspable=rspable,
10071014
)
10081015

10091016
@staticmethod

0 commit comments

Comments
 (0)