aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKevin Wolf <kwolf@redhat.com>2025-08-11 16:29:23 +0200
committerKevin Wolf <kwolf@redhat.com>2025-08-12 14:57:48 +0200
commit65677b7aad05edd20a8d2fe1c27b944f1ff9a002 (patch)
treef249b2484345e27944a95a7ee972ec24c7d7d740
parent624d7463043c120facfab2b54985fcfb679d5379 (diff)
downloadqemu-65677b7aad05edd20a8d2fe1c27b944f1ff9a002.zip
qemu-65677b7aad05edd20a8d2fe1c27b944f1ff9a002.tar.gz
qemu-65677b7aad05edd20a8d2fe1c27b944f1ff9a002.tar.bz2
configure: Don't disable Rust for too old meson version
If the user explicitly specified --enable-rust, don't just fail if meson is too old for Rust support, but do the same thing as if meson was too old for the C code: Just download a newer one. In order to avoid the additional download for people who aren't intentionally opting in to Rust, keep the automatic disabling based on the meson version as the default if neither --enable-rust nor --disable-rust were given. Signed-off-by: Kevin Wolf <kwolf@redhat.com> Message-ID: <20250811142923.89983-1-kwolf@redhat.com> Reviewed-by: Paolo Bonzini <pbonzini@redhat.com> Signed-off-by: Kevin Wolf <kwolf@redhat.com>
-rwxr-xr-xconfigure8
-rw-r--r--pythondeps.toml4
2 files changed, 9 insertions, 3 deletions
diff --git a/configure b/configure
index 825057e..274a778 100755
--- a/configure
+++ b/configure
@@ -1186,10 +1186,12 @@ fi
meson_version=$($meson --version)
if test "$rust" != disabled && ! version_ge "$meson_version" 1.8.1; then
if test "$rust" = enabled; then
- error_exit "Rust support needs Meson 1.8.1 or newer"
+ $mkvenv ensuregroup --dir "${source_path}/python/wheels" \
+ ${source_path}/pythondeps.toml meson-rust || exit 1
+ else
+ echo "Rust needs Meson 1.8.1, disabling" 2>&1
+ rust=disabled
fi
- echo "Rust needs Meson 1.8.1, disabling" 2>&1
- rust=disabled
fi
if test "$rust" != disabled && has "$rustc" && $rustc -vV > "${TMPDIR1}/${TMPB}.out"; then
rust_host_triple=$(sed -n 's/^host: //p' "${TMPDIR1}/${TMPB}.out")
diff --git a/pythondeps.toml b/pythondeps.toml
index b2eec94..d0f52b1 100644
--- a/pythondeps.toml
+++ b/pythondeps.toml
@@ -22,6 +22,10 @@
meson = { accepted = ">=1.5.0", installed = "1.8.1", canary = "meson" }
pycotap = { accepted = ">=1.1.0", installed = "1.3.1" }
+[meson-rust]
+# The install key should match the version in python/wheels/
+meson = { accepted = ">=1.8.1", installed = "1.8.1", canary = "meson" }
+
[docs]
# Please keep the installed versions in sync with docs/requirements.txt
sphinx = { accepted = ">=3.4.3", installed = "6.2.1", canary = "sphinx-build" }