aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTing-Wei Lan <lantw@src.gnome.org>2018-10-08 23:44:33 +0800
committerJussi Pakkanen <jpakkane@gmail.com>2018-10-08 23:12:51 +0300
commitbb9f60624b27041805ca87a48f9a4196afb84ccc (patch)
tree31a1ecf9adc9ff2c07534f5752fa0633a3590b77
parentfd86b0c61931adcab20edfd06ff6f099c38946a9 (diff)
downloadmeson-bb9f60624b27041805ca87a48f9a4196afb84ccc.zip
meson-bb9f60624b27041805ca87a48f9a4196afb84ccc.tar.gz
meson-bb9f60624b27041805ca87a48f9a4196afb84ccc.tar.bz2
gnome: Quote arguments passed to gtkdoc-scangobj
It is possible for compiler flags to include special characters, such as double quotes which are needed to define macros with -D options. Since gtkdoc-scangobj uses shlex.split to split arguments passed to --cc, --ld, --cflags, --ldflags into lists, we can safely use shlex.quote to properly quote arguments for these options.
-rw-r--r--mesonbuild/modules/gnome.py9
1 files changed, 5 insertions, 4 deletions
diff --git a/mesonbuild/modules/gnome.py b/mesonbuild/modules/gnome.py
index 1c2f034..0d1c22f 100644
--- a/mesonbuild/modules/gnome.py
+++ b/mesonbuild/modules/gnome.py
@@ -17,6 +17,7 @@ functionality such as gobject-introspection, gresources and gtk-doc'''
import os
import copy
+import shlex
import subprocess
from .. import build
@@ -1034,12 +1035,12 @@ This will become a hard error in the future.''')
ldflags.update(compiler_flags[1])
ldflags.update(compiler_flags[2])
if compiler:
- args += ['--cc=%s' % ' '.join(compiler.get_exelist())]
- args += ['--ld=%s' % ' '.join(compiler.get_linker_exelist())]
+ args += ['--cc=%s' % ' '.join([shlex.quote(x) for x in compiler.get_exelist()])]
+ args += ['--ld=%s' % ' '.join([shlex.quote(x) for x in compiler.get_linker_exelist()])]
if cflags:
- args += ['--cflags=%s' % ' '.join(cflags)]
+ args += ['--cflags=%s' % ' '.join([shlex.quote(x) for x in cflags])]
if ldflags:
- args += ['--ldflags=%s' % ' '.join(ldflags)]
+ args += ['--ldflags=%s' % ' '.join([shlex.quote(x) for x in ldflags])]
return args