diff options
author | Ting-Wei Lan <lantw@src.gnome.org> | 2018-10-08 23:44:33 +0800 |
---|---|---|
committer | Jussi Pakkanen <jpakkane@gmail.com> | 2018-10-08 23:12:51 +0300 |
commit | bb9f60624b27041805ca87a48f9a4196afb84ccc (patch) | |
tree | 31a1ecf9adc9ff2c07534f5752fa0633a3590b77 | |
parent | fd86b0c61931adcab20edfd06ff6f099c38946a9 (diff) | |
download | meson-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.py | 9 |
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 |