gnome: Guard all cflags passed to g-ir-scanner
While g-ir-scanner's compatible -I and -D flags cover what most dependencies use, there's no guarantee that a dependency's cflags don't include more exotic flags that conflict with the tool's own options. For a real world example, mozjs-38 has '-include some-header-file.h', which translates to '--include nclude another-file-to-scan.h' for the scanner; unless for some reason there's an 'nclude' GIR available on the system, the target will thus fail. For this purpose, g-ir-scanner allows explicitly marking some flags as preprocessor/compiler flags by guarding them with --cflags-begin and --cflags-end. Make sure it is used this for all cflags, not only for global and project flags.
This commit is contained in:
parent
4b8dc3b746
commit
a3dda095bc
|
@ -459,10 +459,6 @@ class GnomeModule(ExtensionModule):
|
|||
sanitize = compiler.get_options().get('b_sanitize')
|
||||
if sanitize:
|
||||
cflags += compilers.sanitizer_compile_args(sanitize)
|
||||
if cflags:
|
||||
scan_command += ['--cflags-begin']
|
||||
scan_command += cflags
|
||||
scan_command += ['--cflags-end']
|
||||
if kwargs.get('symbol_prefix'):
|
||||
sym_prefix = kwargs.pop('symbol_prefix')
|
||||
if not isinstance(sym_prefix, str):
|
||||
|
@ -525,9 +521,12 @@ class GnomeModule(ExtensionModule):
|
|||
# ldflags will be misinterpreted by gir scanner (showing
|
||||
# spurious dependencies) but building GStreamer fails if they
|
||||
# are not used here.
|
||||
cflags, ldflags, gi_includes = self._get_dependencies_flags(deps, state, depends,
|
||||
use_gir_args=True)
|
||||
scan_command += list(cflags)
|
||||
dep_cflags, ldflags, gi_includes = self._get_dependencies_flags(deps, state, depends,
|
||||
use_gir_args=True)
|
||||
cflags += list(dep_cflags)
|
||||
scan_command += ['--cflags-begin']
|
||||
scan_command += cflags
|
||||
scan_command += ['--cflags-end']
|
||||
# need to put our output directory first as we need to use the
|
||||
# generated libraries instead of any possibly installed system/prefix
|
||||
# ones.
|
||||
|
|
Loading…
Reference in New Issue