aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJukka Laurila <jlaurila@google.com>2018-03-09 00:43:24 +0100
committerJukka Laurila <jlaurila@google.com>2018-03-09 01:32:32 +0100
commit8789278e5e700203a3b5fcf2c89fa5482e6ec5ee (patch)
tree60872dd62a4a50295d7bccff73e32024f5e62cf4
parent2fcd9d35c5de0e09cfb571d2bc93fa8961d5903a (diff)
downloadmeson-8789278e5e700203a3b5fcf2c89fa5482e6ec5ee.zip
meson-8789278e5e700203a3b5fcf2c89fa5482e6ec5ee.tar.gz
meson-8789278e5e700203a3b5fcf2c89fa5482e6ec5ee.tar.bz2
Fixed bug 3185.
-rw-r--r--mesonbuild/interpreter.py13
1 files changed, 13 insertions, 0 deletions
diff --git a/mesonbuild/interpreter.py b/mesonbuild/interpreter.py
index f9f25e4..90000d5 100644
--- a/mesonbuild/interpreter.py
+++ b/mesonbuild/interpreter.py
@@ -2096,6 +2096,19 @@ to directly access options of other subprojects.''')
else:
version_string = ' (%s %s)' % (comp.id, comp.version)
mlog.log('Native %s compiler: ' % comp.get_display_language(), mlog.bold(' '.join(comp.get_exelist())), version_string, sep='')
+
+ # If <language>_args/_link_args settings are given on the
+ # command line, use them.
+ for optspec in self.build.environment.cmd_line_options.projectoptions:
+ (optname, optvalue) = optspec.split('=', maxsplit=1)
+ if optname.endswith('_link_args'):
+ lang = optname[:-10]
+ self.coredata.external_link_args.setdefault(lang, []).append(optvalue)
+ elif optname.endswith('_args'):
+ lang = optname[:-5]
+ self.coredata.external_args.setdefault(lang, []).append(optvalue)
+ # Otherwise, look for definitions from environment
+ # variables such as CFLAGS.
if not comp.get_language() in self.coredata.external_args:
(preproc_args, compile_args, link_args) = environment.get_args_from_envvars(comp)
self.coredata.external_preprocess_args[comp.get_language()] = preproc_args