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.tar.gz | |
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 16b9d4235..d70c23038 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 558e6eb85..4d4445ed6 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): |
