}
// check_submodule
- if self.config.fast_submodules {
- let checked_out_hash = output(
- Command::new("git").args(&["rev-parse", "HEAD"]).current_dir(&absolute_path),
- );
- // update_submodules
- let recorded = output(
- Command::new("git")
- .args(&["ls-tree", "HEAD"])
- .arg(relative_path)
- .current_dir(&self.config.src),
- );
- let actual_hash = recorded
- .split_whitespace()
- .nth(2)
- .unwrap_or_else(|| panic!("unexpected output `{}`", recorded));
-
- // update_submodule
- if actual_hash == checked_out_hash.trim_end() {
- // already checked out
- return;
- }
+ let checked_out_hash =
+ output(Command::new("git").args(&["rev-parse", "HEAD"]).current_dir(&absolute_path));
+ // update_submodules
+ let recorded = output(
+ Command::new("git")
+ .args(&["ls-tree", "HEAD"])
+ .arg(relative_path)
+ .current_dir(&self.config.src),
+ );
+ let actual_hash = recorded
+ .split_whitespace()
+ .nth(2)
+ .unwrap_or_else(|| panic!("unexpected output `{}`", recorded));
+
+ // update_submodule
+ if actual_hash == checked_out_hash.trim_end() {
+ // already checked out
+ return;
}
println!("Updating submodule {}", relative_path.display());
// Check for postponed failures from `test --no-fail-fast`.
let failures = self.delayed_failures.borrow();
if failures.len() > 0 {
- println!("\n{} command(s) did not execute successfully:\n", failures.len());
+ eprintln!("\n{} command(s) did not execute successfully:\n", failures.len());
for failure in failures.iter() {
- println!(" - {}\n", failure);
+ eprintln!(" - {}\n", failure);
}
process::exit(1);
}
fn std_features(&self, target: TargetSelection) -> String {
let mut features = "panic-unwind".to_string();
- match self.config.llvm_libunwind {
+ match self.config.llvm_libunwind(target) {
LlvmLibunwind::InTree => features.push_str(" llvm-libunwind"),
LlvmLibunwind::System => features.push_str(" system-llvm-libunwind"),
LlvmLibunwind::No => {}