1
Fork 0

Make bootstrap build on stable

This is generally a good idea, and will help with being able to build bootstrap
without Python over time as it means we can "just" build with cargo +beta build
rather than needing the user to set environment variables. This is a minor step,
but a necessary one on that road.
This commit is contained in:
Mark Rousskov 2020-09-06 19:38:26 -04:00
parent 73dc675b94
commit 2656d3414c
3 changed files with 4 additions and 5 deletions

View file

@ -714,7 +714,6 @@ class RustBuild(object):
# See also: <https://github.com/rust-lang/rust/issues/70208>. # See also: <https://github.com/rust-lang/rust/issues/70208>.
if "CARGO_BUILD_TARGET" in env: if "CARGO_BUILD_TARGET" in env:
del env["CARGO_BUILD_TARGET"] del env["CARGO_BUILD_TARGET"]
env["RUSTC_BOOTSTRAP"] = '1'
env["CARGO_TARGET_DIR"] = build_dir env["CARGO_TARGET_DIR"] = build_dir
env["RUSTC"] = self.rustc() env["RUSTC"] = self.rustc()
env["LD_LIBRARY_PATH"] = os.path.join(self.bin_root(), "lib") + \ env["LD_LIBRARY_PATH"] = os.path.join(self.bin_root(), "lib") + \

View file

@ -103,8 +103,6 @@
//! More documentation can be found in each respective module below, and you can //! More documentation can be found in each respective module below, and you can
//! also check out the `src/bootstrap/README.md` file for more information. //! also check out the `src/bootstrap/README.md` file for more information.
#![feature(drain_filter)]
use std::cell::{Cell, RefCell}; use std::cell::{Cell, RefCell};
use std::collections::{HashMap, HashSet}; use std::collections::{HashMap, HashSet};
use std::env; use std::env;

View file

@ -162,13 +162,15 @@ impl Step for ToolBuild {
"the following dependencies are duplicated although they \ "the following dependencies are duplicated although they \
have the same features enabled:" have the same features enabled:"
); );
for (id, cur, prev) in duplicates.drain_filter(|(_, cur, prev)| cur.2 == prev.2) { let (same, different): (Vec<_>, Vec<_>) =
duplicates.into_iter().partition(|(_, cur, prev)| cur.2 == prev.2);
for (id, cur, prev) in same {
println!(" {}", id); println!(" {}", id);
// same features // same features
println!(" `{}` ({:?})\n `{}` ({:?})", cur.0, cur.1, prev.0, prev.1); println!(" `{}` ({:?})\n `{}` ({:?})", cur.0, cur.1, prev.0, prev.1);
} }
println!("the following dependencies have different features:"); println!("the following dependencies have different features:");
for (id, cur, prev) in duplicates { for (id, cur, prev) in different {
println!(" {}", id); println!(" {}", id);
let cur_features: HashSet<_> = cur.2.into_iter().collect(); let cur_features: HashSet<_> = cur.2.into_iter().collect();
let prev_features: HashSet<_> = prev.2.into_iter().collect(); let prev_features: HashSet<_> = prev.2.into_iter().collect();