Created experimental build.print_step_rusage setting

Intended to piggy-back on output from existing build.print_step_timings setting.
This commit is contained in:
Felix S. Klock II 2021-02-19 13:25:26 -05:00
parent b36f77012d
commit 0d8bf72a36
3 changed files with 13 additions and 0 deletions

View File

@ -290,6 +290,12 @@ changelog-seen = 2
# tracking over time)
#print-step-timings = false
# Print out resource usage data for each rustbuild step, as defined by the Unix
# struct rusage. (Note that this setting is completely unstable: the data it
# captures, what platforms it supports, the format of its associated output, and
# this setting's very existence, are all subject to change.)
#print-step-rusage = false
# =============================================================================
# General install configuration options
# =============================================================================

View File

@ -1259,6 +1259,10 @@ impl<'a> Builder<'a> {
cargo.env("RUSTC_PRINT_STEP_TIMINGS", "1");
}
if self.config.print_step_rusage {
cargo.env("RUSTC_PRINT_STEP_RUSAGE", "1");
}
if self.config.backtrace_on_ice {
cargo.env("RUSTC_BACKTRACE_ON_ICE", "1");
}

View File

@ -161,6 +161,7 @@ pub struct Config {
pub verbose_tests: bool,
pub save_toolstates: Option<PathBuf>,
pub print_step_timings: bool,
pub print_step_rusage: bool,
pub missing_tools: bool,
// Fallback musl-root for all targets
@ -380,6 +381,7 @@ struct Build {
configure_args: Option<Vec<String>>,
local_rebuild: Option<bool>,
print_step_timings: Option<bool>,
print_step_rusage: Option<bool>,
check_stage: Option<u32>,
doc_stage: Option<u32>,
build_stage: Option<u32>,
@ -679,6 +681,7 @@ impl Config {
set(&mut config.configure_args, build.configure_args);
set(&mut config.local_rebuild, build.local_rebuild);
set(&mut config.print_step_timings, build.print_step_timings);
set(&mut config.print_step_rusage, build.print_step_rusage);
// See https://github.com/rust-lang/compiler-team/issues/326
config.stage = match config.cmd {