summaryrefslogtreecommitdiff
path: root/mesonbuild/modules
diff options
context:
space:
mode:
authorL. E. Segovia <amy@amyspark.me>2025-06-05 12:35:24 -0300
committerNirbheek Chauhan <nirbheek.chauhan@gmail.com>2025-06-21 16:29:31 +0530
commit98f58024020b3300853dd1d02a1025b82d16b3cf (patch)
tree253fc51225f17389449a0a89e155c6b12a207304 /mesonbuild/modules
parent50ae7363ca65fae157d71bf554e930f96a0f8b0e (diff)
downloadmeson-98f58024020b3300853dd1d02a1025b82d16b3cf.tar.gz
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
Diffstat (limited to 'mesonbuild/modules')
-rw-r--r--mesonbuild/modules/gnome.py8
1 files changed, 7 insertions, 1 deletions
diff --git a/mesonbuild/modules/gnome.py b/mesonbuild/modules/gnome.py
index 17826c7d0..9f955ae1b 100644
--- a/mesonbuild/modules/gnome.py
+++ b/mesonbuild/modules/gnome.py
@@ -959,8 +959,8 @@ class GnomeModule(ExtensionModule):
return gir_filelist_filename
- @staticmethod
def _make_gir_target(
+ self,
state: 'ModuleState',
girfile: str,
scan_command: T.Sequence[T.Union['FileOrString', Executable, ExternalProgram, OverrideProgram]],
@@ -990,6 +990,11 @@ class GnomeModule(ExtensionModule):
run_env.set('CFLAGS', [quote_arg(x) for x in env_flags], ' ')
run_env.merge(kwargs['env'])
+ gir_dep, _, _ = self._get_gir_dep(state)
+
+ # response file supported?
+ rspable = mesonlib.version_compare(gir_dep.get_version(), '>= 1.85.0')
+
return GirTarget(
girfile,
state.subdir,
@@ -1004,6 +1009,7 @@ class GnomeModule(ExtensionModule):
install_dir=[install_dir],
install_tag=['devel'],
env=run_env,
+ rspable=rspable,
)
@staticmethod