diff options
Diffstat (limited to 'mesonbuild/interpreter.py')
-rw-r--r-- | mesonbuild/interpreter.py | 35 |
1 files changed, 7 insertions, 28 deletions
diff --git a/mesonbuild/interpreter.py b/mesonbuild/interpreter.py index dcd54a3..0dbe8ca 100644 --- a/mesonbuild/interpreter.py +++ b/mesonbuild/interpreter.py @@ -2193,18 +2193,6 @@ to directly access options of other subprojects.''') return opt.value except KeyError: pass - if optname.endswith('_link_args'): - try: - lang = optname[:-10] - return self.coredata.external_link_args[lang] - except KeyError: - pass - if optname.endswith('_args'): - try: - lang = optname[:-5] - return self.coredata.external_args[lang] - except KeyError: - pass # Some base options are not defined in some environments, return the default value. try: return compilers.base_options[optname].value @@ -2443,6 +2431,13 @@ to directly access options of other subprojects.''') new_options[i].set_value(value) new_options.update(self.coredata.compiler_options) self.coredata.compiler_options = new_options + + # Unlike compiler and linker flags, preprocessor flags are not in + # compiler_options because they are not visible to user. + preproc_flags = comp.get_preproc_flags() + preproc_flags = shlex.split(preproc_flags) + self.coredata.external_preprocess_args.setdefault(lang, preproc_flags) + return comp, cross_comp def add_languages(self, args, required): @@ -2469,22 +2464,6 @@ to directly access options of other subprojects.''') 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, otherwise take them from env. - (preproc_args, compile_args, link_args) = comp.get_args_from_envvars() - for optspec in self.build.environment.cmd_line_options.projectoptions: - (optname, optvalue) = optspec.split('=', maxsplit=1) - if optname == lang + '_link_args': - link_args = shlex.split(optvalue) - elif optname.endswith('_args'): - compile_args = shlex.split(optvalue) - if lang not in self.coredata.external_preprocess_args: - self.coredata.external_preprocess_args[lang] = preproc_args - if lang not in self.coredata.external_args: - self.coredata.external_args[lang] = compile_args - if lang not in self.coredata.external_link_args: - self.coredata.external_link_args[lang] = link_args - self.build.add_compiler(comp) if need_cross_compiler: mlog.log('Cross %s compiler: ' % cross_comp.get_display_language(), mlog.bold(' '.join(cross_comp.get_exelist())), ' (%s %s)' % (cross_comp.id, cross_comp.version), sep='') |