about summary refs log tree commit diff
diff options
context:
space:
mode:
authorJakub Beránek <berykubik@gmail.com>2025-07-21 17:41:02 +0200
committerJakub Beránek <berykubik@gmail.com>2025-08-01 15:46:25 +0200
commit21d7a540135a1f7a9c3a35fa139df8faefde637c (patch)
tree085e72520d8e89d2985395734ea825bc1a9f92a8
parent316b5d390203c0592dab9810cf80b5cb6f7ce536 (diff)
downloadrust-21d7a540135a1f7a9c3a35fa139df8faefde637c.tar.gz
rust-21d7a540135a1f7a9c3a35fa139df8faefde637c.zip
Make `Cargo` a `ToolTarget` tool
-rw-r--r--src/bootstrap/src/core/build_steps/tool.rs10
-rw-r--r--src/bootstrap/src/core/builder/tests.rs6
2 files changed, 4 insertions, 12 deletions
diff --git a/src/bootstrap/src/core/build_steps/tool.rs b/src/bootstrap/src/core/build_steps/tool.rs
index 00be04e26dc..a2c7c8c65b0 100644
--- a/src/bootstrap/src/core/build_steps/tool.rs
+++ b/src/bootstrap/src/core/build_steps/tool.rs
@@ -822,7 +822,7 @@ impl Step for Cargo {
 
     fn make_run(run: RunConfig<'_>) {
         run.builder.ensure(Cargo {
-            compiler: run.builder.compiler(run.builder.top_stage, run.builder.config.host_target),
+            compiler: get_tool_target_compiler(run.builder, ToolTargetBuildMode::Build(run.target)),
             target: run.target,
         });
     }
@@ -834,7 +834,7 @@ impl Step for Cargo {
             build_compiler: self.compiler,
             target: self.target,
             tool: "cargo",
-            mode: Mode::ToolRustc,
+            mode: Mode::ToolTarget,
             path: "src/tools/cargo",
             source_type: SourceType::Submodule,
             extra_features: Vec::new(),
@@ -845,11 +845,7 @@ impl Step for Cargo {
     }
 
     fn metadata(&self) -> Option<StepMetadata> {
-        // FIXME: fix staging logic
-        Some(
-            StepMetadata::build("cargo", self.target)
-                .built_by(self.compiler.with_stage(self.compiler.stage - 1)),
-        )
+        Some(StepMetadata::build("cargo", self.target).built_by(self.compiler))
     }
 }
 
diff --git a/src/bootstrap/src/core/builder/tests.rs b/src/bootstrap/src/core/builder/tests.rs
index 3b3f321750f..6bd5b16eabb 100644
--- a/src/bootstrap/src/core/builder/tests.rs
+++ b/src/bootstrap/src/core/builder/tests.rs
@@ -1006,11 +1006,7 @@ mod snapshot {
         insta::assert_snapshot!(
             ctx.config("build")
                 .paths(&["cargo"])
-            .render_steps(), @r"
-        [build] llvm <host>
-        [build] rustc 0 <host> -> rustc 1 <host>
-        [build] rustc 1 <host> -> cargo 2 <host>
-        ");
+            .render_steps(), @"[build] rustc 0 <host> -> cargo 1 <host>");
     }
 
     #[test]