aboutsummaryrefslogtreecommitdiff
path: root/docs
diff options
context:
space:
mode:
authorXavier Claessens <xavier.claessens@collabora.com>2022-04-21 11:00:48 -0400
committerEli Schwartz <eschwartz93@gmail.com>2022-04-21 14:18:29 -0400
commit3c8343b4837744ae7dc1ee21eeefb93cd044b611 (patch)
treea354996fb89c4bd105536f30b1215774396defcf /docs
parent9528e7deb0e883efde90f7bca60277ad06d62d47 (diff)
downloadmeson-3c8343b4837744ae7dc1ee21eeefb93cd044b611.zip
meson-3c8343b4837744ae7dc1ee21eeefb93cd044b611.tar.gz
meson-3c8343b4837744ae7dc1ee21eeefb93cd044b611.tar.bz2
Allow deprecating an option for a new one
Diffstat (limited to 'docs')
-rw-r--r--docs/markdown/Build-options.md15
-rw-r--r--docs/markdown/snippets/deprecated_for_option.md16
2 files changed, 31 insertions, 0 deletions
diff --git a/docs/markdown/Build-options.md b/docs/markdown/Build-options.md
index 4b66cbf..b8f1407 100644
--- a/docs/markdown/Build-options.md
+++ b/docs/markdown/Build-options.md
@@ -149,6 +149,21 @@ option('o4', type: 'feature', deprecated: {'true': 'enabled', 'false': 'disabled
option('o5', type: 'boolean', deprecated: {'enabled': 'true', 'disabled': 'false', 'auto': 'false'})
```
+Since *0.63.0* the `deprecated` keyword argument can take the name of a new option
+that replace this option. In that case, setting a value on the deprecated option
+will set the value on both the old and new names, assuming they accept the same
+values.
+
+```meson
+# A boolean option has been replaced by a feature with another name, old true/false values
+# are accepted by the new option for backward compatibility.
+option('o6', type: 'boolean', value: 'true', deprecated: 'o7')
+option('o7', type: 'feature', value: 'enabled', deprecated: {'true': 'enabled', 'false': 'disabled'})
+
+# A project option is replaced by a module option
+option('o8', type: 'string', value: '', deprecated: 'python.platlibdir')
+```
+
## Using build options
```meson
diff --git a/docs/markdown/snippets/deprecated_for_option.md b/docs/markdown/snippets/deprecated_for_option.md
new file mode 100644
index 0000000..c0a012c
--- /dev/null
+++ b/docs/markdown/snippets/deprecated_for_option.md
@@ -0,0 +1,16 @@
+## Deprecate an option and replace it with a new one
+
+The `deprecated` keyword argument can now take the name of a new option
+that replace this option. In that case, setting a value on the deprecated option
+will set the value on both the old and new names, assuming they accept the same
+values.
+
+```meson
+# A boolean option has been replaced by a feature with another name, old true/false values
+# are accepted by the new option for backward compatibility.
+option('o1', type: 'boolean', value: 'true', deprecated: 'o2')
+option('o2', type: 'feature', value: 'enabled', deprecated: {'true': 'enabled', 'false': 'disabled'})
+
+# A project option is replaced by a module option
+option('o3', type: 'string', value: '', deprecated: 'python.platlibdir')
+```