Auto merge of #101949 - matthiaskrgr:rollup-xu5cqnd, r=matthiaskrgr
Rollup of 7 pull requests Successful merges: - #101093 (Initial version of 1.64 release notes) - #101713 (change AccessLevels representation) - #101821 (Bump Unicode to version 15.0.0, regenerate tables) - #101826 (Enforce "joined()" and "joined_with_noop()" test) - #101835 (Allow using vendoring when running bootstrap from outside the source root) - #101942 (Revert "Copy stage0 binaries into stage0-sysroot") - #101943 (rustdoc: remove unused CSS `.non-exhaustive { margin-bottom }`) Failed merges: r? `@ghost` `@rustbot` modify labels: rollup
This commit is contained in:
commit
5253b0a0a1
22 changed files with 600 additions and 376 deletions
|
|
@ -778,7 +778,8 @@ class RustBuild(object):
|
|||
elif color == "never":
|
||||
args.append("--color=never")
|
||||
|
||||
run(args, env=env, verbose=self.verbose)
|
||||
# Run this from the source directory so cargo finds .cargo/config
|
||||
run(args, env=env, verbose=self.verbose, cwd=self.rust_root)
|
||||
|
||||
def build_triple(self):
|
||||
"""Build triple as in LLVM
|
||||
|
|
|
|||
|
|
@ -1325,6 +1325,9 @@ impl<'a> Builder<'a> {
|
|||
) -> Cargo {
|
||||
let mut cargo = Command::new(&self.initial_cargo);
|
||||
let out_dir = self.stage_out(compiler, mode);
|
||||
// Run cargo from the source root so it can find .cargo/config.
|
||||
// This matters when using vendoring and the working directory is outside the repository.
|
||||
cargo.current_dir(&self.src);
|
||||
|
||||
// Codegen backends are not yet tracked by -Zbinary-dep-depinfo,
|
||||
// so we need to explicitly clear out if they've been updated.
|
||||
|
|
|
|||
|
|
@ -436,43 +436,6 @@ impl Step for StdLink {
|
|||
let libdir = builder.sysroot_libdir(target_compiler, target);
|
||||
let hostdir = builder.sysroot_libdir(target_compiler, compiler.host);
|
||||
add_to_sysroot(builder, &libdir, &hostdir, &libstd_stamp(builder, compiler, target));
|
||||
|
||||
if compiler.stage == 0 {
|
||||
// special handling for stage0, to make `rustup toolchain link` and `x dist --stage 0`
|
||||
// work for stage0-sysroot
|
||||
|
||||
// copy bin files from stage0/bin to stage0-sysroot/bin
|
||||
let sysroot = builder.out.join(&compiler.host.triple).join("stage0-sysroot");
|
||||
|
||||
let host = compiler.host.triple;
|
||||
let stage0_bin_dir = builder.out.join(&host).join("stage0/bin");
|
||||
let sysroot_bin_dir = sysroot.join("bin");
|
||||
t!(fs::create_dir_all(&sysroot_bin_dir));
|
||||
builder.cp_r(&stage0_bin_dir, &sysroot_bin_dir);
|
||||
|
||||
// copy all *.so files from stage0/lib to stage0-sysroot/lib
|
||||
let stage0_lib_dir = builder.out.join(&host).join("stage0/lib");
|
||||
if let Ok(files) = fs::read_dir(&stage0_lib_dir) {
|
||||
for file in files {
|
||||
let file = t!(file);
|
||||
let path = file.path();
|
||||
if path.is_file() && is_dylib(&file.file_name().into_string().unwrap()) {
|
||||
builder.copy(&path, &sysroot.join("lib").join(path.file_name().unwrap()));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// copy codegen-backends from stage0
|
||||
let sysroot_codegen_backends = builder.sysroot_codegen_backends(compiler);
|
||||
t!(fs::create_dir_all(&sysroot_codegen_backends));
|
||||
let stage0_codegen_backends = builder
|
||||
.out
|
||||
.join(&host)
|
||||
.join("stage0/lib/rustlib")
|
||||
.join(&host)
|
||||
.join("codegen-backends");
|
||||
builder.cp_r(&stage0_codegen_backends, &sysroot_codegen_backends);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue