aboutsummaryrefslogtreecommitdiff
path: root/mesonbuild/interpreter.py
diff options
context:
space:
mode:
authorJussi Pakkanen <jpakkane@gmail.com>2016-03-20 22:04:24 +0200
committerJussi Pakkanen <jpakkane@gmail.com>2016-03-20 22:04:24 +0200
commitd87eb7d2905eaa9ed7bac60945821c7b039298d8 (patch)
tree65dd79f54b021f800f258410aca28bb151e0aa48 /mesonbuild/interpreter.py
parent9071c8fc454f5f56060bb979fa3ea01cc61e6ffb (diff)
parenta405f7a4994d7823b0e4429438e78a6b3dadecdc (diff)
downloadmeson-d87eb7d2905eaa9ed7bac60945821c7b039298d8.zip
meson-d87eb7d2905eaa9ed7bac60945821c7b039298d8.tar.gz
meson-d87eb7d2905eaa9ed7bac60945821c7b039298d8.tar.bz2
Merge branch 'base_options'.
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)