diff options
author | Jussi Pakkanen <jpakkane@gmail.com> | 2025-02-18 13:37:04 +0200 |
---|---|---|
committer | Jussi Pakkanen <jpakkane@gmail.com> | 2025-02-27 13:30:24 +0200 |
commit | 2c2023e43d2327886acd1ebfecf06f359ae40bdb (patch) | |
tree | e773982ecd5cb0294316e4aa5a79b2478a5f1fcb /mesonbuild/options.py | |
parent | 1b54239a88261cbb679a342162d72632cd6b8093 (diff) | |
download | meson-optiondefaults.zip meson-optiondefaults.tar.gz meson-optiondefaults.tar.bz2 |
Maintain bw compatibility for requesting bad options. Closes: #14255.optiondefaults
Diffstat (limited to 'mesonbuild/options.py')
-rw-r--r-- | mesonbuild/options.py | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/mesonbuild/options.py b/mesonbuild/options.py index 7c22332..609e4a9 100644 --- a/mesonbuild/options.py +++ b/mesonbuild/options.py @@ -1101,6 +1101,14 @@ 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]': + assert keyname.startswith('b_') + from .compilers.compilers import BASE_OPTIONS + for bkey, bvalue in BASE_OPTIONS.items(): + if bkey.name == keyname: + return (bvalue, bvalue.default) + raise MesonBugException(f'Requested base option {keyname} which does not exist.') + def remove(self, key: OptionKey) -> None: del self.options[key] try: |