From 4aa94ae08d81329e41c109a6ca3bda293b14f93a Mon Sep 17 00:00:00 2001 From: Paolo Bonzini Date: Mon, 14 Oct 2024 13:01:13 +0200 Subject: [PATCH] configure, meson: synchronize defaults for configure and Meson Rust options MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit If the defaults for --enable-rust ($rust in configure) and Meson's rust option are out of sync, incremental builds will pick Meson's default. This happens because, on an incremental build, configure does not run Meson, Make does instead. Meson then gets the command line options from either coredata.dat (which has everything cached in Python's pickle format) or cmd_line.txt (slow path when Meson version is upgraded), but neither knows about the rust option, and the meson_options.txt default is used. This will cause have_rust to be true if rustc is available; and the build to fail because configure did not put a RUST_TARGET_TRIPLE in config-host.mak. When in the Rust pull request I changed the $rust default from auto to disabled, I should have made the same change to meson_options.txt; do it now. Cc: Manos Pitsidianakis Reported-by: Peter Maydell Reported-by: Daniel P. Berrangé Signed-off-by: Paolo Bonzini Tested-by: Peter Maydell Message-id: 20241014110113.173946-1-pbonzini@redhat.com Signed-off-by: Peter Maydell --- configure | 2 +- meson_options.txt | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/configure b/configure index 99d57a6ef07..72d1a942250 100755 --- a/configure +++ b/configure @@ -1975,7 +1975,7 @@ if test "$skip_meson" = no; then test "$pie" = no && meson_option_add -Db_pie=false # QEMU options - test "$rust" != "auto" && meson_option_add "-Drust=$rust" + test "$rust" != "disabled" && meson_option_add "-Drust=$rust" test "$cfi" != false && meson_option_add "-Dcfi=$cfi" "-Db_lto=$cfi" test "$docs" != auto && meson_option_add "-Ddocs=$docs" test -n "${LIB_FUZZING_ENGINE+xxx}" && meson_option_add "-Dfuzzing_engine=$LIB_FUZZING_ENGINE" diff --git a/meson_options.txt b/meson_options.txt index 5a5c2300261..0ee4d7bb86b 100644 --- a/meson_options.txt +++ b/meson_options.txt @@ -374,5 +374,5 @@ option('hexagon_idef_parser', type : 'boolean', value : true, option('x86_version', type : 'combo', choices : ['0', '1', '2', '3', '4'], value: '1', description: 'tweak required x86_64 architecture version beyond compiler default') -option('rust', type: 'feature', value: 'auto', +option('rust', type: 'feature', value: 'disabled', description: 'Rust support') -- 2.39.5