Skip to content

Commit 91aaab5

Browse files
committed
- patch to disable miri build by default (nightly only tool, not meant for stable)
1 parent a1735ef commit 91aaab5

File tree

1 file changed

+91
-0
lines changed

1 file changed

+91
-0
lines changed

rust-no-miri.patch

Lines changed: 91 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,91 @@
1+
From 416b010f4087d055febe2d55919f74e261ca8cd6 Mon Sep 17 00:00:00 2001
2+
From: Ralf Jung <[email protected]>
3+
Date: Thu, 11 Jun 2020 09:25:06 +0200
4+
Subject: [PATCH] x.py: do not build Miri by default
5+
6+
---
7+
src/bootstrap/builder.rs | 2 ++
8+
src/bootstrap/tool.rs | 30 ++++++++++++++++++------------
9+
2 files changed, 20 insertions(+), 12 deletions(-)
10+
11+
diff --git a/src/bootstrap/builder.rs b/src/bootstrap/builder.rs
12+
index ffdd8485181f4..c4f29927cf4a8 100644
13+
--- a/src/bootstrap/builder.rs
14+
+++ b/src/bootstrap/builder.rs
15+
@@ -52,6 +52,8 @@ pub trait Step: 'static + Clone + Debug + PartialEq + Eq + Hash {
16+
/// it's been assembled.
17+
type Output: Clone;
18+
19+
+ /// Whether this step is run by default as part of its respective phase.
20+
+ /// `true` here can still be overwritten by `should_run` calling `default_condition`.
21+
const DEFAULT: bool = false;
22+
23+
/// If true, then this rule should be skipped if --target was specified, but --host was not
24+
diff --git a/src/bootstrap/tool.rs b/src/bootstrap/tool.rs
25+
index 6cd9f9029c948..9c95de0a81eae 100644
26+
--- a/src/bootstrap/tool.rs
27+
+++ b/src/bootstrap/tool.rs
28+
@@ -595,6 +595,7 @@ macro_rules! tool_extended {
29+
$toolstate:ident,
30+
$path:expr,
31+
$tool_name:expr,
32+
+ stable = $stable:expr,
33+
$extra_deps:block;)+) => {
34+
$(
35+
#[derive(Debug, Clone, Hash, PartialEq, Eq)]
36+
@@ -606,17 +607,22 @@ macro_rules! tool_extended {
37+
38+
impl Step for $name {
39+
type Output = Option<PathBuf>;
40+
- const DEFAULT: bool = true;
41+
+ const DEFAULT: bool = true; // Overwritten below
42+
const ONLY_HOSTS: bool = true;
43+
44+
fn should_run(run: ShouldRun<'_>) -> ShouldRun<'_> {
45+
let builder = run.builder;
46+
run.path($path).default_condition(
47+
builder.config.extended
48+
- && builder.config.tools.as_ref().map_or(true, |tools| {
49+
- tools.iter().any(|tool| match tool.as_ref() {
50+
- "clippy" => $tool_name == "clippy-driver",
51+
- x => $tool_name == x,
52+
+ && builder.config.tools.as_ref().map_or(
53+
+ // By default, on nightly/dev enable all tools, else only
54+
+ // build stable tools.
55+
+ $stable || builder.build.unstable_features(),
56+
+ // If `tools` is set, search list for this tool.
57+
+ |tools| {
58+
+ tools.iter().any(|tool| match tool.as_ref() {
59+
+ "clippy" => $tool_name == "clippy-driver",
60+
+ x => $tool_name == x,
61+
})
62+
}),
63+
)
64+
@@ -652,12 +658,12 @@ macro_rules! tool_extended {
65+
// Note: tools need to be also added to `Builder::get_step_descriptions` in `build.rs`
66+
// to make `./x.py build <tool>` work.
67+
tool_extended!((self, builder),
68+
- Cargofmt, rustfmt, "src/tools/rustfmt", "cargo-fmt", {};
69+
- CargoClippy, clippy, "src/tools/clippy", "cargo-clippy", {};
70+
- Clippy, clippy, "src/tools/clippy", "clippy-driver", {};
71+
- Miri, miri, "src/tools/miri", "miri", {};
72+
- CargoMiri, miri, "src/tools/miri/cargo-miri", "cargo-miri", {};
73+
- Rls, rls, "src/tools/rls", "rls", {
74+
+ Cargofmt, rustfmt, "src/tools/rustfmt", "cargo-fmt", stable=true, {};
75+
+ CargoClippy, clippy, "src/tools/clippy", "cargo-clippy", stable=true, {};
76+
+ Clippy, clippy, "src/tools/clippy", "clippy-driver", stable=true, {};
77+
+ Miri, miri, "src/tools/miri", "miri", stable=false, {};
78+
+ CargoMiri, miri, "src/tools/miri/cargo-miri", "cargo-miri", stable=false, {};
79+
+ Rls, rls, "src/tools/rls", "rls", stable=true, {
80+
builder.ensure(Clippy {
81+
compiler: self.compiler,
82+
target: self.target,
83+
@@ -665,7 +671,7 @@ tool_extended!((self, builder),
84+
});
85+
self.extra_features.push("clippy".to_owned());
86+
};
87+
- Rustfmt, rustfmt, "src/tools/rustfmt", "rustfmt", {};
88+
+ Rustfmt, rustfmt, "src/tools/rustfmt", "rustfmt", stable=true, {};
89+
);
90+
91+
impl<'a> Builder<'a> {

0 commit comments

Comments
 (0)