diff options
| author | Jussi Pakkanen <jpakkane@gmail.com> | 2025-02-28 01:25:25 +0200 |
|---|---|---|
| committer | Dylan Baker <dylan@pnwbakers.com> | 2025-02-27 23:20:17 -0800 |
| commit | e4de716d504a56cd9f87683334facc82aea3d200 (patch) | |
| tree | 315cc27fe9a770241dbeac2a2413fdd3c2b075f2 /mesonbuild | |
| parent | 8546e408c67a783b5b04063834eff55f3e53eaf2 (diff) | |
| download | meson-e4de716d504a56cd9f87683334facc82aea3d200.tar.gz | |
Actually fix base option default values.
Diffstat (limited to 'mesonbuild')
| -rw-r--r-- | mesonbuild/interpreter/interpreter.py | 7 | ||||
| -rw-r--r-- | mesonbuild/options.py | 4 |
2 files changed, 6 insertions, 5 deletions
diff --git a/mesonbuild/interpreter/interpreter.py b/mesonbuild/interpreter/interpreter.py index 0b16266f7..b0bda8556 100644 --- a/mesonbuild/interpreter/interpreter.py +++ b/mesonbuild/interpreter/interpreter.py @@ -1081,12 +1081,13 @@ class Interpreter(InterpreterBase, HoldableObject): raise InterpreterException(f'Invalid option name {optname!r}') try: - value_object, value = self.coredata.optstore.get_option_from_meson_file(options.OptionKey(optname, self.subproject)) + optkey = options.OptionKey(optname, self.subproject) + value_object, value = self.coredata.optstore.get_option_from_meson_file(optkey) except KeyError: - if self.coredata.optstore.is_base_option(optname): + if self.coredata.optstore.is_base_option(optkey): # Due to backwards compatibility return the default # option for base options instead of erroring out. - value_object, value = self.get_default_for_b_option(optname) + return self.coredata.optstore.get_default_for_b_option(optname) else: if self.subproject: raise MesonException(f'Option {optname} does not exist for subproject {self.subproject}.') diff --git a/mesonbuild/options.py b/mesonbuild/options.py index 79ba30b95..0bb32b733 100644 --- a/mesonbuild/options.py +++ b/mesonbuild/options.py @@ -1100,12 +1100,12 @@ class OptionStore: (value_object, value) = self.get_value_object_and_value_for(key) return (value_object, value) - def get_default_for_b_option(self, keyname: str) -> T.Tuple[AnyOptionType, OptionValueType]: + def get_default_for_b_option(self, keyname: str) -> ElementaryOptionValues: assert keyname.startswith('b_') from .compilers.compilers import BASE_OPTIONS for bkey, bvalue in BASE_OPTIONS.items(): if bkey.name == keyname: - return (T.cast('AnyOptionType', bvalue), bvalue.default) + return T.cast('ElementaryOptionValues', bvalue.default) raise MesonBugException(f'Requested base option {keyname} which does not exist.') def remove(self, key: OptionKey) -> None: |
