diff options
author | John Ericson <John.Ericson@Obsidian.Systems> | 2018-12-18 14:32:25 -0500 |
---|---|---|
committer | Jussi Pakkanen <jpakkane@gmail.com> | 2018-12-20 23:01:36 +0200 |
commit | 9b13fb367250444377200911bf50918b7abf2676 (patch) | |
tree | 51c84c6b542d434af9b5b8c056057bdae9823522 | |
parent | f9a35e08acd34173355fbaea391045373d931abb (diff) | |
download | meson-9b13fb367250444377200911bf50918b7abf2676.zip meson-9b13fb367250444377200911bf50918b7abf2676.tar.gz meson-9b13fb367250444377200911bf50918b7abf2676.tar.bz2 |
Factor out more option iterating
-rw-r--r-- | mesonbuild/coredata.py | 7 | ||||
-rw-r--r-- | mesonbuild/interpreter.py | 5 |
2 files changed, 7 insertions, 5 deletions
diff --git a/mesonbuild/coredata.py b/mesonbuild/coredata.py index 16b9d42..d70c230 100644 --- a/mesonbuild/coredata.py +++ b/mesonbuild/coredata.py @@ -483,8 +483,13 @@ class CoreData: yield self.compiler_options yield self.base_options + def get_all_options(self): + return chain( + iter([self.builtins]), + self._get_all_nonbuiltin_options()) + def validate_option_value(self, option_name, override_value): - for opts in chain(iter([self.builtins]), self._get_all_nonbuiltin_options()): + for opts in self.get_all_options(): if option_name in opts: opt = opts[option_name] return opt.validate_value(override_value) diff --git a/mesonbuild/interpreter.py b/mesonbuild/interpreter.py index 558e6eb..4d4445e 100644 --- a/mesonbuild/interpreter.py +++ b/mesonbuild/interpreter.py @@ -1957,10 +1957,7 @@ class Interpreter(InterpreterBase): def get_non_matching_default_options(self): env = self.environment for def_opt_name, def_opt_value in self.project_default_options.items(): - for option_type in [ - env.coredata.builtins, env.coredata.compiler_options, - env.coredata.backend_options, env.coredata.base_options, - env.coredata.user_options]: + for option_type in env.coredata.get_all_options(): for cur_opt_name, cur_opt_value in option_type.items(): if (def_opt_name == cur_opt_name and def_opt_value != cur_opt_value.value): |