From 33c5c7e7e9cd5d091943f9b05f348d3a8d06080b Mon Sep 17 00:00:00 2001 From: Dylan Baker Date: Tue, 17 Apr 2018 11:21:35 -0700 Subject: [PATCH] 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_args and -D_link_args to `meson`. This path assumes that if one is set then the other must be, which isn't true. --- mesonbuild/interpreter.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/mesonbuild/interpreter.py b/mesonbuild/interpreter.py index a1303122c..de2c6ce81 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: