Commit e65030ed50ee moved rust_std and build.rust_std from per-target
override_options into the project's default_options, in order to avoid
repetition. However, default_options are validated unconditionally at
project initialization, even when Rust is disabled. This breaks builds
with meson < 1.9.0 which does not know about "build.rust_std":
meson.build:1:0: ERROR: Unknown option: "build.rust_std".
Make the options conditional on the meson version, since Rust only
supports new versions of Meson anyway.
Fixes: e65030ed50ee ("rust: remove unnecessary repetitive options")
Reported-by: Marc-André Lureau <[email protected]>
Signed-off-by: Paolo Bonzini <[email protected]>
---
meson.build | 8 ++++++--
1 file changed, 6 insertions(+), 2 deletions(-)
diff --git a/meson.build b/meson.build
index de00fddb2db..d016482db1b 100644
--- a/meson.build
+++ b/meson.build
@@ -1,7 +1,11 @@
project('qemu', ['c'], meson_version: '>=1.5.0',
default_options: ['warning_level=1', 'c_std=gnu11', 'cpp_std=gnu++23',
'b_colorout=auto',
- 'b_staticpic=false', 'stdsplit=false',
'optimization=2', 'b_pie=true',
- 'rust_std=2021', 'build.rust_std=2021'],
+ 'b_staticpic=false', 'stdsplit=false',
'optimization=2', 'b_pie=true'] +
+
+ # build.rust_std breaks with older meson, but Rust
does not
+ # support old meson anyway
+ (meson.version().version_compare('>= 1.9') ?
['rust_std=2021', 'build.rust_std=2021'] : []),
+
version: files('VERSION'))
add_test_setup('quick', exclude_suites: ['slow', 'thorough'], is_default: true,
--
2.53.0