aboutsummaryrefslogtreecommitdiff
path: root/mesonbuild/options.py
diff options
context:
space:
mode:
authorJussi Pakkanen <jpakkane@gmail.com>2025-02-18 13:37:04 +0200
committerJussi Pakkanen <jpakkane@gmail.com>2025-02-27 13:30:24 +0200
commit2c2023e43d2327886acd1ebfecf06f359ae40bdb (patch)
treee773982ecd5cb0294316e4aa5a79b2478a5f1fcb /mesonbuild/options.py
parent1b54239a88261cbb679a342162d72632cd6b8093 (diff)
downloadmeson-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.py8
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: