From aa4efc709e8e6773830d47a4a0ecce0313158a57 Mon Sep 17 00:00:00 2001 From: Dylan Baker Date: Thu, 25 Feb 2021 13:45:23 -0800 Subject: [PATCH] deprecated `meson.get_cross_property` It's a pure subset of `get_external_property`, and has odd behavior in host == build configurations. `get_external_property` is clear, and uses the standard `native : bool` syntax to control host vs build properties --- docs/markdown/Cross-compilation.md | 2 +- docs/markdown/Reference-manual.md | 6 +++--- docs/markdown/snippets/deprecated_get_cross_property.md | 5 +++++ mesonbuild/interpreter.py | 1 + 4 files changed, 10 insertions(+), 4 deletions(-) create mode 100644 docs/markdown/snippets/deprecated_get_cross_property.md diff --git a/docs/markdown/Cross-compilation.md b/docs/markdown/Cross-compilation.md index d4fb074a7..4410c0363 100644 --- a/docs/markdown/Cross-compilation.md +++ b/docs/markdown/Cross-compilation.md @@ -315,7 +315,7 @@ somekey = 'somevalue' then you can access that using the `meson` object like this: ```meson -myvar = meson.get_cross_property('somekey') +myvar = meson.get_external_property('somekey') # myvar now has the value 'somevalue' ``` diff --git a/docs/markdown/Reference-manual.md b/docs/markdown/Reference-manual.md index 4fb0b6379..6669530ed 100644 --- a/docs/markdown/Reference-manual.md +++ b/docs/markdown/Reference-manual.md @@ -1979,9 +1979,9 @@ the following methods. the "native" compiler if we're not. - `get_cross_property(propname, fallback_value)`: - *Consider `get_external_property()` instead*. Returns the given - property from a cross file, the optional fallback_value is returned - if not cross compiling or the given property is not found. + *Deprecated since 0.58.0, use `get_external_property()` instead*. + Returns the given property from a cross file, the optional fallback_value + is returned if not cross compiling or the given property is not found. - `get_external_property(propname, fallback_value, native: true/false)` *(since 0.54.0)*: returns the given property from a native or cross file. diff --git a/docs/markdown/snippets/deprecated_get_cross_property.md b/docs/markdown/snippets/deprecated_get_cross_property.md new file mode 100644 index 000000000..8e62956b8 --- /dev/null +++ b/docs/markdown/snippets/deprecated_get_cross_property.md @@ -0,0 +1,5 @@ +## `meson.get_cross_property()` has been deprecated + +It's a pure subset of `meson.get_external_property`, and works strangely in +host == build configurations, since it would be more accurately described as +`get_host_property`. diff --git a/mesonbuild/interpreter.py b/mesonbuild/interpreter.py index e99500d6a..336613f16 100644 --- a/mesonbuild/interpreter.py +++ b/mesonbuild/interpreter.py @@ -2241,6 +2241,7 @@ class MesonMain(InterpreterObject): @noArgsFlattening @permittedKwargs({}) + @FeatureDeprecated('meson.get_cross_property', '0.58.0', 'Use meson.get_external_property() instead') def get_cross_property_method(self, args, kwargs) -> str: if len(args) < 1 or len(args) > 2: raise InterpreterException('Must have one or two arguments.')