From 91aaab500bbdd31bb966a87a655a6b86bceedf38 Mon Sep 17 00:00:00 2001 From: Jakub Bogusz Date: Sun, 4 Oct 2020 08:15:15 +0200 Subject: [PATCH] - patch to disable miri build by default (nightly only tool, not meant for stable) --- rust-no-miri.patch | 91 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 91 insertions(+) create mode 100644 rust-no-miri.patch diff --git a/rust-no-miri.patch b/rust-no-miri.patch new file mode 100644 index 0000000..3e3619c --- /dev/null +++ b/rust-no-miri.patch @@ -0,0 +1,91 @@ +From 416b010f4087d055febe2d55919f74e261ca8cd6 Mon Sep 17 00:00:00 2001 +From: Ralf Jung +Date: Thu, 11 Jun 2020 09:25:06 +0200 +Subject: [PATCH] x.py: do not build Miri by default + +--- + src/bootstrap/builder.rs | 2 ++ + src/bootstrap/tool.rs | 30 ++++++++++++++++++------------ + 2 files changed, 20 insertions(+), 12 deletions(-) + +diff --git a/src/bootstrap/builder.rs b/src/bootstrap/builder.rs +index ffdd8485181f4..c4f29927cf4a8 100644 +--- a/src/bootstrap/builder.rs ++++ b/src/bootstrap/builder.rs +@@ -52,6 +52,8 @@ pub trait Step: 'static + Clone + Debug + PartialEq + Eq + Hash { + /// it's been assembled. + type Output: Clone; + ++ /// Whether this step is run by default as part of its respective phase. ++ /// `true` here can still be overwritten by `should_run` calling `default_condition`. + const DEFAULT: bool = false; + + /// If true, then this rule should be skipped if --target was specified, but --host was not +diff --git a/src/bootstrap/tool.rs b/src/bootstrap/tool.rs +index 6cd9f9029c948..9c95de0a81eae 100644 +--- a/src/bootstrap/tool.rs ++++ b/src/bootstrap/tool.rs +@@ -595,6 +595,7 @@ macro_rules! tool_extended { + $toolstate:ident, + $path:expr, + $tool_name:expr, ++ stable = $stable:expr, + $extra_deps:block;)+) => { + $( + #[derive(Debug, Clone, Hash, PartialEq, Eq)] +@@ -606,17 +607,22 @@ macro_rules! tool_extended { + + impl Step for $name { + type Output = Option; +- const DEFAULT: bool = true; ++ const DEFAULT: bool = true; // Overwritten below + const ONLY_HOSTS: bool = true; + + fn should_run(run: ShouldRun<'_>) -> ShouldRun<'_> { + let builder = run.builder; + run.path($path).default_condition( + builder.config.extended +- && builder.config.tools.as_ref().map_or(true, |tools| { +- tools.iter().any(|tool| match tool.as_ref() { +- "clippy" => $tool_name == "clippy-driver", +- x => $tool_name == x, ++ && builder.config.tools.as_ref().map_or( ++ // By default, on nightly/dev enable all tools, else only ++ // build stable tools. ++ $stable || builder.build.unstable_features(), ++ // If `tools` is set, search list for this tool. ++ |tools| { ++ tools.iter().any(|tool| match tool.as_ref() { ++ "clippy" => $tool_name == "clippy-driver", ++ x => $tool_name == x, + }) + }), + ) +@@ -652,12 +658,12 @@ macro_rules! tool_extended { + // Note: tools need to be also added to `Builder::get_step_descriptions` in `build.rs` + // to make `./x.py build ` work. + tool_extended!((self, builder), +- Cargofmt, rustfmt, "src/tools/rustfmt", "cargo-fmt", {}; +- CargoClippy, clippy, "src/tools/clippy", "cargo-clippy", {}; +- Clippy, clippy, "src/tools/clippy", "clippy-driver", {}; +- Miri, miri, "src/tools/miri", "miri", {}; +- CargoMiri, miri, "src/tools/miri/cargo-miri", "cargo-miri", {}; +- Rls, rls, "src/tools/rls", "rls", { ++ Cargofmt, rustfmt, "src/tools/rustfmt", "cargo-fmt", stable=true, {}; ++ CargoClippy, clippy, "src/tools/clippy", "cargo-clippy", stable=true, {}; ++ Clippy, clippy, "src/tools/clippy", "clippy-driver", stable=true, {}; ++ Miri, miri, "src/tools/miri", "miri", stable=false, {}; ++ CargoMiri, miri, "src/tools/miri/cargo-miri", "cargo-miri", stable=false, {}; ++ Rls, rls, "src/tools/rls", "rls", stable=true, { + builder.ensure(Clippy { + compiler: self.compiler, + target: self.target, +@@ -665,7 +671,7 @@ tool_extended!((self, builder), + }); + self.extra_features.push("clippy".to_owned()); + }; +- Rustfmt, rustfmt, "src/tools/rustfmt", "rustfmt", {}; ++ Rustfmt, rustfmt, "src/tools/rustfmt", "rustfmt", stable=true, {}; + ); + + impl<'a> Builder<'a> { -- 2.43.0