Auto merge of #111345 - jyn514:cfg-release-caching, r=cjgillot,est31
Only depend on CFG_VERSION in rustc_interface This avoids having to rebuild the whole compiler on each commit when `omit-git-hash = false`. cc https://github.com/rust-lang/rust/issues/76720 - this won't fix it, and I'm not suggesting we turn this on by default, but it will make it less painful for people who do have `omit-git-hash` on as a workaround.
This commit is contained in:
commit
c9dc55d05c
24 changed files with 97 additions and 71 deletions
|
@ -89,6 +89,7 @@ pub fn register_plugins<'a>(
|
|||
crate_name,
|
||||
sess.crate_types().contains(&CrateType::Executable),
|
||||
sess.opts.cg.metadata.clone(),
|
||||
sess.cfg_version,
|
||||
);
|
||||
sess.stable_crate_id.set(stable_crate_id).expect("not yet initialized");
|
||||
rustc_incremental::prepare_session_directory(sess, crate_name, stable_crate_id)?;
|
||||
|
|
|
@ -369,7 +369,7 @@ impl Linker {
|
|||
|
||||
if sess.opts.unstable_opts.no_link {
|
||||
let rlink_file = self.prepare_outputs.with_extension(config::RLINK_EXT);
|
||||
CodegenResults::serialize_rlink(&rlink_file, &codegen_results)
|
||||
CodegenResults::serialize_rlink(sess, &rlink_file, &codegen_results)
|
||||
.map_err(|error| sess.emit_fatal(FailedWritingFile { path: &rlink_file, error }))?;
|
||||
return Ok(());
|
||||
}
|
||||
|
|
|
@ -52,7 +52,8 @@ fn mk_session(matches: getopts::Matches) -> (Session, CfgSpecs) {
|
|||
output_file: None,
|
||||
temps_dir,
|
||||
};
|
||||
let sess = build_session(sessopts, io, None, registry, vec![], Default::default(), None, None);
|
||||
let sess =
|
||||
build_session(sessopts, io, None, registry, vec![], Default::default(), None, None, "");
|
||||
(sess, cfg)
|
||||
}
|
||||
|
||||
|
|
|
@ -104,6 +104,7 @@ pub fn create_session(
|
|||
lint_caps,
|
||||
file_loader,
|
||||
target_override,
|
||||
rustc_version_str().unwrap_or("unknown"),
|
||||
);
|
||||
|
||||
codegen_backend.init(&sess);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue