From: Paolo Bonzini Date: Sat, 14 Mar 2026 07:50:51 +0000 (+0100) Subject: rust: fix build when --disable-rust and meson < 1.9 X-Git-Tag: v11.0.0-rc0~7^2~1 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=e4ff2106daddc112fea8621d2afd89dff75b93ee;p=thirdparty%2Fqemu.git rust: fix build when --disable-rust and meson < 1.9 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 Signed-off-by: Paolo Bonzini --- 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,