aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFlorian Müllner <fmuellner@gnome.org>2017-05-28 10:47:50 +0200
committerJussi Pakkanen <jpakkane@gmail.com>2017-06-03 21:35:09 +0300
commit3a2e333f004828e5390ce96344cb338be11e70b0 (patch)
tree180ecc24795b1eea0f8b6b75214ff9dac122f134
parent73b0002793a321ea1b0570720ec16fa4a9bc6467 (diff)
downloadmeson-3a2e333f004828e5390ce96344cb338be11e70b0.zip
meson-3a2e333f004828e5390ce96344cb338be11e70b0.tar.gz
meson-3a2e333f004828e5390ce96344cb338be11e70b0.tar.bz2
gnome: Use --pkg to pass pkg-config cflags to g-ir-scanner
While g-ir-scanner's compatible -I and -D flags cover what most pkg-config files use, there's no guarantee that files don't set anything more exotic that conflicts 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. Avoid this case by pointing g-ir-scanner to the correct pkg-config file instead of passing any cflags directly.
-rw-r--r--mesonbuild/modules/gnome.py5
1 files changed, 4 insertions, 1 deletions
diff --git a/mesonbuild/modules/gnome.py b/mesonbuild/modules/gnome.py
index b8092b2..0c4b67a 100644
--- a/mesonbuild/modules/gnome.py
+++ b/mesonbuild/modules/gnome.py
@@ -332,7 +332,10 @@ class GnomeModule(ExtensionModule):
source.held_object.get_subdir())])
# This should be any dependency other than an internal one.
elif isinstance(dep, Dependency):
- cflags.update(dep.get_compile_args())
+ if isinstance(dep, PkgConfigDependency) and use_gir_args:
+ cflags.update(["--pkg=%s" % dep.get_name()])
+ else:
+ cflags.update(dep.get_compile_args())
for lib in dep.get_link_args():
if (os.path.isabs(lib) and
# For PkgConfigDependency only: