diff options
Diffstat (limited to 'mesonbuild/interpreter.py')
-rw-r--r-- | mesonbuild/interpreter.py | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/mesonbuild/interpreter.py b/mesonbuild/interpreter.py index 04bfa07..ef6f3c1 100644 --- a/mesonbuild/interpreter.py +++ b/mesonbuild/interpreter.py @@ -19,6 +19,7 @@ from . import dependencies from . import mlog from . import build from . import optinterpreter +from . import compilers from .wrap import wrap from . import mesonlib @@ -1527,8 +1528,21 @@ class Interpreter(): self.build.add_cross_compiler(cross_comp) if self.environment.is_cross_build() and not need_cross_compiler: self.build.add_cross_compiler(comp) + self.add_base_options(comp) return success + def add_base_options(self, compiler): + proj_opt = self.environment.cmd_line_options.projectoptions + for optname in compiler.base_options: + if optname in self.coredata.base_options: + continue + oobj = compilers.base_options[optname] + for po in proj_opt: + if po.startswith(optname + '='): + oobj.set_value(po.split('=', 1)[1]) + break + self.coredata.base_options[optname] = oobj + def func_find_program(self, node, args, kwargs): self.validate_arguments(args, 1, [str]) required = kwargs.get('required', True) |