Skip to content

Commit 8c1303b

Browse files
committed
Check the version of the compiler in build.rs and add --cfg=bootstrap on beta
This provides helpful messages when using `cargo build` and sets --cfg=bootstrap when using a beta toolchain.
1 parent 388b3fa commit 8c1303b

File tree

13 files changed

+410
-13
lines changed

13 files changed

+410
-13
lines changed

Cargo.lock

+4
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ dependencies = [
1919
name = "alloc"
2020
version = "0.0.0"
2121
dependencies = [
22+
"build_helper",
2223
"compiler_builtins",
2324
"core",
2425
"rand 0.7.3",
@@ -653,6 +654,7 @@ dependencies = [
653654
name = "core"
654655
version = "0.0.0"
655656
dependencies = [
657+
"build_helper",
656658
"rand 0.7.3",
657659
]
658660

@@ -4201,6 +4203,7 @@ dependencies = [
42014203
name = "rustc_session"
42024204
version = "0.0.0"
42034205
dependencies = [
4206+
"build_helper",
42044207
"getopts",
42054208
"log",
42064209
"num_cpus",
@@ -4694,6 +4697,7 @@ version = "0.0.0"
46944697
dependencies = [
46954698
"alloc",
46964699
"backtrace",
4700+
"build_helper",
46974701
"cfg-if",
46984702
"compiler_builtins",
46994703
"core",

src/bootstrap/dist.rs

+5-5
Original file line numberDiff line numberDiff line change
@@ -1174,7 +1174,7 @@ impl Step for Cargo {
11741174
let etc = src.join("src/etc");
11751175
let release_num = builder.release_num("cargo");
11761176
let name = pkgname(builder, "cargo");
1177-
let version = builder.cargo_info.version(builder, &release_num);
1177+
let version = builder.cargo_info.version(builder.release(&release_num));
11781178

11791179
let tmp = tmpdir(builder);
11801180
let image = tmp.join("cargo-image");
@@ -1266,7 +1266,7 @@ impl Step for Rls {
12661266
let src = builder.src.join("src/tools/rls");
12671267
let release_num = builder.release_num("rls");
12681268
let name = pkgname(builder, "rls");
1269-
let version = builder.rls_info.version(builder, &release_num);
1269+
let version = builder.rls_info.version(builder.release(&release_num));
12701270

12711271
let tmp = tmpdir(builder);
12721272
let image = tmp.join("rls-image");
@@ -1356,7 +1356,7 @@ impl Step for Clippy {
13561356
let src = builder.src.join("src/tools/clippy");
13571357
let release_num = builder.release_num("clippy");
13581358
let name = pkgname(builder, "clippy");
1359-
let version = builder.clippy_info.version(builder, &release_num);
1359+
let version = builder.clippy_info.version(builder.release(&release_num));
13601360

13611361
let tmp = tmpdir(builder);
13621362
let image = tmp.join("clippy-image");
@@ -1453,7 +1453,7 @@ impl Step for Miri {
14531453
let src = builder.src.join("src/tools/miri");
14541454
let release_num = builder.release_num("miri");
14551455
let name = pkgname(builder, "miri");
1456-
let version = builder.miri_info.version(builder, &release_num);
1456+
let version = builder.miri_info.version(builder.release(&release_num));
14571457

14581458
let tmp = tmpdir(builder);
14591459
let image = tmp.join("miri-image");
@@ -1549,7 +1549,7 @@ impl Step for Rustfmt {
15491549
let src = builder.src.join("src/tools/rustfmt");
15501550
let release_num = builder.release_num("rustfmt");
15511551
let name = pkgname(builder, "rustfmt");
1552-
let version = builder.rustfmt_info.version(builder, &release_num);
1552+
let version = builder.rustfmt_info.version(builder.release(&release_num));
15531553

15541554
let tmp = tmpdir(builder);
15551555
let image = tmp.join("rustfmt-image");

src/bootstrap/lib.rs

+2-3
Original file line numberDiff line numberDiff line change
@@ -120,15 +120,14 @@ use std::os::unix::fs::symlink as symlink_file;
120120
#[cfg(windows)]
121121
use std::os::windows::fs::symlink_file;
122122

123-
use build_helper::{mtime, output, run, run_suppressed, t, try_run, try_run_suppressed};
123+
use build_helper::{channel, mtime, output, run, run_suppressed, t, try_run, try_run_suppressed};
124124
use filetime::FileTime;
125125

126126
use crate::util::{exe, libdir, CiEnv};
127127

128128
mod builder;
129129
mod cache;
130130
mod cc_detect;
131-
mod channel;
132131
mod check;
133132
mod clean;
134133
mod compile;
@@ -1047,7 +1046,7 @@ impl Build {
10471046
/// Note that this is a descriptive string which includes the commit date,
10481047
/// sha, version, etc.
10491048
fn rust_version(&self) -> String {
1050-
self.rust_info.version(self, channel::CFG_RELEASE_NUM)
1049+
self.rust_info.version(self.release(channel::CFG_RELEASE_NUM))
10511050
}
10521051

10531052
/// Returns the full commit hash.

src/bootstrap/channel.rs src/build_helper/channel.rs

+4-5
Original file line numberDiff line numberDiff line change
@@ -8,17 +8,17 @@
88
use std::path::Path;
99
use std::process::Command;
1010

11-
use build_helper::output;
12-
13-
use crate::Build;
11+
use crate::output;
1412

1513
// The version number
1614
pub const CFG_RELEASE_NUM: &str = "1.44.0";
1715

16+
#[derive(Clone)]
1817
pub struct GitInfo {
1918
inner: Option<Info>,
2019
}
2120

21+
#[derive(Clone)]
2222
struct Info {
2323
commit_date: String,
2424
sha: String,
@@ -72,8 +72,7 @@ impl GitInfo {
7272
self.inner.as_ref().map(|s| &s.commit_date[..])
7373
}
7474

75-
pub fn version(&self, build: &Build, num: &str) -> String {
76-
let mut version = build.release(num);
75+
pub fn version(&self, mut version: String) -> String {
7776
if let Some(ref inner) = self.inner {
7877
version.push_str(" (");
7978
version.push_str(&inner.short_sha);

0 commit comments

Comments
 (0)