Pile all the checksum info into a comment that goes in the same order as the file list for the makefile
This commit is contained in:
parent
081661b78d
commit
dba814a922
@ -536,7 +536,7 @@ fn hash_iter_files<P: AsRef<Path>>(
|
|||||||
|
|
||||||
let write_deps_to_file = |file: &mut dyn Write| -> io::Result<()> {
|
let write_deps_to_file = |file: &mut dyn Write| -> io::Result<()> {
|
||||||
for path in out_filenames {
|
for path in out_filenames {
|
||||||
writeln!(
|
write!(
|
||||||
file,
|
file,
|
||||||
"{}: {}\n",
|
"{}: {}\n",
|
||||||
path.display(),
|
path.display(),
|
||||||
@ -546,6 +546,25 @@ fn hash_iter_files<P: AsRef<Path>>(
|
|||||||
.intersperse(" ")
|
.intersperse(" ")
|
||||||
.collect::<String>()
|
.collect::<String>()
|
||||||
)?;
|
)?;
|
||||||
|
|
||||||
|
// If caller requested this information, add special comments about source file checksums.
|
||||||
|
// These are not necessarily the same checksums as was used in the debug files.
|
||||||
|
if sess.opts.unstable_opts.checksum_hash_algorithm().is_some() {
|
||||||
|
assert!(
|
||||||
|
files.iter().all(|(_path, _file_len, hash_algo)| hash_algo.is_some()),
|
||||||
|
"all files must have a checksum hash computed to output checksum hashes"
|
||||||
|
);
|
||||||
|
write!(file, " # ")?;
|
||||||
|
files
|
||||||
|
.iter()
|
||||||
|
.filter_map(|(_path, file_len, hash_algo)| {
|
||||||
|
hash_algo.map(|hash_algo| (path, file_len, hash_algo))
|
||||||
|
})
|
||||||
|
.try_for_each(|(_path, file_len, checksum_hash)| {
|
||||||
|
write!(file, "checksum:{checksum_hash} file_len:{file_len}, ")
|
||||||
|
})?;
|
||||||
|
}
|
||||||
|
writeln!(file)?;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Emit a fake target for each input file to the compilation. This
|
// Emit a fake target for each input file to the compilation. This
|
||||||
@ -575,18 +594,6 @@ fn hash_iter_files<P: AsRef<Path>>(
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// If caller requested this information, add special comments about source file checksums.
|
|
||||||
// These are not necessarily the same checksums as was used in the debug files.
|
|
||||||
if sess.opts.unstable_opts.checksum_hash_algorithm().is_some() {
|
|
||||||
for (path, file_len, checksum_hash) in
|
|
||||||
files.iter().filter_map(|(path, file_len, hash_algo)| {
|
|
||||||
hash_algo.map(|hash_algo| (path, file_len, hash_algo))
|
|
||||||
})
|
|
||||||
{
|
|
||||||
writeln!(file, "# checksum:{checksum_hash} file_len:{file_len} {path}")?;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
Ok(())
|
Ok(())
|
||||||
};
|
};
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user