add TestFloatParse to tools for bootstrap · rust-lang/rust@bc9fc71 (original) (raw)

Original file line number Diff line number Diff line change
@@ -1096,6 +1096,38 @@ tool_extended!((self, builder),
1096 1096 Rustfmt, "src/tools/rustfmt", "rustfmt", stable=true, add_bins_to_sysroot = ["rustfmt", "cargo-fmt"];
1097 1097 );
1098 1098
1099 +#[derive(Debug, Clone, PartialEq, Eq, Hash)]
1100 +pub struct TestFloatParse {
1101 +pub host: TargetSelection,
1102 +}
1103 +
1104 +impl Step for TestFloatParse {
1105 +type Output = ();
1106 +const ONLY_HOSTS: bool = true;
1107 +const DEFAULT: bool = false;
1108 +
1109 +fn should_run(run: ShouldRun<'_>) -> ShouldRun<'_> {
1110 + run.path("src/etc/test-float-parse")
1111 +}
1112 +
1113 +fn run(self, builder: &Builder<'_>) {
1114 +let bootstrap_host = builder.config.build;
1115 +let compiler = builder.compiler(builder.top_stage, bootstrap_host);
1116 +
1117 + builder.ensure(ToolBuild {
1118 + compiler,
1119 +target: bootstrap_host,
1120 +tool: "test-float-parse",
1121 +mode: Mode::ToolStd,
1122 +path: "src/etc/test-float-parse",
1123 +source_type: SourceType::InTree,
1124 +extra_features: Vec::new(),
1125 +allow_features: "",
1126 +cargo_args: Vec::new(),
1127 +});
1128 +}
1129 +}
1130 +
1099 1131 impl Builder<'_> {
1100 1132 /// Gets a `BootstrapCommand` which is ready to run `tool` in `stage` built for
1101 1133 /// `host`.