about summary refs log tree commit diff
diff options
context:
space:
mode:
authorbit-aloo <sshourya17@gmail.com>2025-07-30 17:08:52 +0530
committerbit-aloo <sshourya17@gmail.com>2025-08-01 20:27:47 +0530
commit58a38cd7deba18d4b449214cab5cad36d3b4cceb (patch)
tree60e09d149551a04e329fe8c1af5222e9c33fce05
parent8652d96ff7b58ec491de45d0767b211f631dfbee (diff)
Fix verbosity setting
-rw-r--r--src/bootstrap/src/core/config/config.rs12
-rw-r--r--src/bootstrap/src/lib.rs2
-rw-r--r--src/bootstrap/src/utils/exec.rs4
3 files changed, 10 insertions, 8 deletions
diff --git a/src/bootstrap/src/core/config/config.rs b/src/bootstrap/src/core/config/config.rs
index c3cc920d331..d9cc215683e 100644
--- a/src/bootstrap/src/core/config/config.rs
+++ b/src/bootstrap/src/core/config/config.rs
@@ -93,7 +93,6 @@ pub struct Config {
     pub ccache: Option<String>,
     /// Call Build::ninja() instead of this.
     pub ninja_in_file: bool,
-    pub verbose: usize,
     pub submodules: Option<bool>,
     pub compiler_docs: bool,
     pub library_docs_private_items: bool,
@@ -528,7 +527,7 @@ impl Config {
             extended,
             tools,
             tool,
-            verbose,
+            verbose: build_verbose,
             sanitizers,
             profiler,
             cargo_native_static,
@@ -586,6 +585,12 @@ impl Config {
             }
         }
 
+        // Prefer CLI verbosity flags if set (`flags_verbose` > 0), otherwise take the value from
+        // TOML.
+        config
+            .exec_ctx
+            .set_verbosity(cmp::max(build_verbose.unwrap_or_default() as u8, flags_verbose));
+
         let mut paths: Vec<PathBuf> = flags_skip.into_iter().chain(flags_exclude).collect();
         if let Some(exclude) = exclude {
             paths.extend(exclude);
@@ -741,7 +746,6 @@ impl Config {
         set(&mut config.extended, extended);
         config.tools = tools;
         set(&mut config.tool, tool);
-        set(&mut config.verbose, verbose);
         set(&mut config.sanitizers, sanitizers);
         set(&mut config.profiler, profiler);
         set(&mut config.cargo_native_static, cargo_native_static);
@@ -750,8 +754,6 @@ impl Config {
         set(&mut config.print_step_timings, print_step_timings);
         set(&mut config.print_step_rusage, print_step_rusage);
 
-        config.verbose = cmp::max(config.verbose, flags_verbose as usize);
-
         // Verbose flag is a good default for `rust.verbose-tests`.
         config.verbose_tests = config.is_verbose();
 
diff --git a/src/bootstrap/src/lib.rs b/src/bootstrap/src/lib.rs
index 011b52df97b..254b8658b66 100644
--- a/src/bootstrap/src/lib.rs
+++ b/src/bootstrap/src/lib.rs
@@ -515,7 +515,7 @@ impl Build {
             local_rebuild: config.local_rebuild,
             fail_fast: config.cmd.fail_fast(),
             doc_tests: config.cmd.doc_tests(),
-            verbosity: config.verbose,
+            verbosity: config.exec_ctx.verbosity as usize,
 
             host_target: config.host_target,
             hosts: config.hosts.clone(),
diff --git a/src/bootstrap/src/utils/exec.rs b/src/bootstrap/src/utils/exec.rs
index 26582214c93..7527dff9cd8 100644
--- a/src/bootstrap/src/utils/exec.rs
+++ b/src/bootstrap/src/utils/exec.rs
@@ -550,7 +550,7 @@ impl Default for CommandOutput {
 #[derive(Clone, Default)]
 pub struct ExecutionContext {
     dry_run: DryRun,
-    verbosity: u8,
+    pub verbosity: u8,
     pub fail_fast: bool,
     delayed_failures: Arc<Mutex<Vec<String>>>,
     command_cache: Arc<CommandCache>,
@@ -640,7 +640,7 @@ impl ExecutionContext {
         self.dry_run = value;
     }
 
-    pub fn set_verbose(&mut self, value: u8) {
+    pub fn set_verbosity(&mut self, value: u8) {
         self.verbosity = value;
     }