aboutsummaryrefslogtreecommitdiff
path: root/mesonbuild
diff options
context:
space:
mode:
authorDylan Baker <dylan@pnwbakers.com>2018-04-17 11:21:35 -0700
committerDylan Baker <dylan@pnwbakers.com>2018-04-17 11:32:26 -0700
commit33c5c7e7e9cd5d091943f9b05f348d3a8d06080b (patch)
treec56968d9aa326e606d00ff3ec56b5300cf14be3e /mesonbuild
parent348248f0a19bdc80e8a184befb2faaa1d5e66f40 (diff)
downloadmeson-33c5c7e7e9cd5d091943f9b05f348d3a8d06080b.zip
meson-33c5c7e7e9cd5d091943f9b05f348d3a8d06080b.tar.gz
meson-33c5c7e7e9cd5d091943f9b05f348d3a8d06080b.tar.bz2
interpreter: Don't assume default link_args == compile_args
Since we want to make the options passed to `meson` and `meson configure` equivalent, we need to allows pass -D<lang>_args and -D<lang>_link_args to `meson`. This path assumes that if one is set then the other must be, which isn't true.
Diffstat (limited to 'mesonbuild')
-rw-r--r--mesonbuild/interpreter.py6
1 files changed, 4 insertions, 2 deletions
diff --git a/mesonbuild/interpreter.py b/mesonbuild/interpreter.py
index a130312..de2c6ce 100644
--- a/mesonbuild/interpreter.py
+++ b/mesonbuild/interpreter.py
@@ -2225,10 +2225,12 @@ to directly access options of other subprojects.''')
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)
+ (preproc_args, compile_args, link_args) = environment.get_args_from_envvars(comp)
+ if not comp.get_language() in self.coredata.external_preprocess_args:
self.coredata.external_preprocess_args[comp.get_language()] = preproc_args
+ if not comp.get_language() in self.coredata.external_args:
self.coredata.external_args[comp.get_language()] = compile_args
+ if not comp.get_language() in self.coredata.external_link_args:
self.coredata.external_link_args[comp.get_language()] = link_args
self.build.add_compiler(comp)
if need_cross_compiler: