diff options
author | Emmanuele Bassi <ebassi@gnome.org> | 2021-07-29 17:27:58 +0100 |
---|---|---|
committer | Xavier Claessens <xclaesse@gmail.com> | 2021-08-09 14:43:57 -0400 |
commit | d9acd7505c405e184f76c90b36aec2e6edb719a7 (patch) | |
tree | b5ed9456366d750ddc6c97cf68ebdfd81913fe19 | |
parent | 6a1157b2e56775afccc601ea4c9fb2857a6b8425 (diff) | |
download | meson-d9acd7505c405e184f76c90b36aec2e6edb719a7.zip meson-d9acd7505c405e184f76c90b36aec2e6edb719a7.tar.gz meson-d9acd7505c405e184f76c90b36aec2e6edb719a7.tar.bz2 |
gnome: Filter all compiler and linker flags
When sending them to the introspection scanner, we must always filter
all compiler and linker flags, because g-ir-scanner does not accept any
random argument but only a specific subset.
Fixes: #8876
-rw-r--r-- | mesonbuild/modules/gnome.py | 20 |
1 files changed, 13 insertions, 7 deletions
diff --git a/mesonbuild/modules/gnome.py b/mesonbuild/modules/gnome.py index b138f55..a9cd1d3 100644 --- a/mesonbuild/modules/gnome.py +++ b/mesonbuild/modules/gnome.py @@ -867,10 +867,16 @@ class GnomeModule(ExtensionModule): # are not used here. dep_cflags, dep_internal_ldflags, dep_external_ldflags, gi_includes = \ self._get_dependencies_flags(deps, state, depends, use_gir_args=True) - cflags += list(self._get_scanner_cflags(dep_cflags)) - cflags += list(self._get_scanner_cflags(self._get_external_args_for_langs(state, [lc[0] for lc in langs_compilers]))) - internal_ldflags += list(self._get_scanner_ldflags(dep_internal_ldflags)) - external_ldflags += list(self._get_scanner_ldflags(dep_external_ldflags)) + scan_cflags = [] + scan_cflags += list(self._get_scanner_cflags(cflags)) + scan_cflags += list(self._get_scanner_cflags(dep_cflags)) + scan_cflags += list(self._get_scanner_cflags(self._get_external_args_for_langs(state, [lc[0] for lc in langs_compilers]))) + scan_internal_ldflags = [] + scan_internal_ldflags += list(self._get_scanner_ldflags(internal_ldflags)) + scan_internal_ldflags += list(self._get_scanner_ldflags(dep_internal_ldflags)) + scan_external_ldflags = [] + scan_external_ldflags += list(self._get_scanner_ldflags(external_ldflags)) + scan_external_ldflags += list(self._get_scanner_ldflags(dep_external_ldflags)) girtargets_inc_dirs = self._get_gir_targets_inc_dirs(girtargets) inc_dirs = self._scan_inc_dirs(kwargs) @@ -890,14 +896,14 @@ class GnomeModule(ExtensionModule): scan_command += self._scan_identifier_prefix(kwargs) scan_command += self._scan_export_packages(kwargs) scan_command += ['--cflags-begin'] - scan_command += cflags + scan_command += scan_cflags scan_command += ['--cflags-end'] scan_command += state.get_include_args(inc_dirs) scan_command += state.get_include_args(list(gi_includes) + gir_inc_dirs + inc_dirs, prefix='--add-include-path=') - scan_command += list(internal_ldflags) + scan_command += list(scan_internal_ldflags) scan_command += self._scan_gir_targets(state, girtargets) scan_command += self._scan_langs(state, [lc[0] for lc in langs_compilers]) - scan_command += list(external_ldflags) + scan_command += list(scan_external_ldflags) if self._gir_has_option('--sources-top-dirs'): scan_command += ['--sources-top-dirs', os.path.join(state.environment.get_source_dir(), self.interpreter.subproject_dir, state.subproject)] |