aboutsummaryrefslogtreecommitdiff
path: root/mesonbuild/interpreter.py
diff options
context:
space:
mode:
Diffstat (limited to 'mesonbuild/interpreter.py')
-rw-r--r--mesonbuild/interpreter.py14
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)