@@ -18,7 +18,7 @@ use build_helper::{output, t};
18
18
19
19
use crate::{Compiler, Mode, LLVM_TOOLS};
20
20
use crate::channel;
21
- use crate::util::{is_dylib, exe};
21
+ use crate::util::{is_dylib, exe, timeit };
22
22
use crate::builder::{Builder, RunConfig, ShouldRun, Step};
23
23
use crate::compile;
24
24
use crate::tool::{self, Tool};
@@ -91,14 +91,15 @@ impl Step for Docs {
91
91
92
92
let name = pkgname(builder, "rust-docs");
93
93
94
- builder.info(&format!("Dist docs ({})", host));
95
94
if !builder.config.docs {
96
- builder.info("\tskipping - docs disabled");
97
95
return distdir(builder).join(format!("{}-{}.tar.gz", name, host));
98
96
}
99
97
100
98
builder.default_doc(None);
101
99
100
+ builder.info(&format!("Dist docs ({})", host));
101
+ let _time = timeit(builder);
102
+
102
103
let image = tmpdir(builder).join(format!("{}-{}-image", name, host));
103
104
let _ = fs::remove_dir_all(&image);
104
105
@@ -151,9 +152,7 @@ impl Step for RustcDocs {
151
152
152
153
let name = pkgname(builder, "rustc-docs");
153
154
154
- builder.info(&format!("Dist compiler docs ({})", host));
155
155
if !builder.config.compiler_docs {
156
- builder.info("\tskipping - compiler docs disabled");
157
156
return distdir(builder).join(format!("{}-{}.tar.gz", name, host));
158
157
}
159
158
@@ -179,6 +178,9 @@ impl Step for RustcDocs {
179
178
.arg("--component-name=rustc-docs")
180
179
.arg("--legacy-manifest-dirs=rustlib,cargo")
181
180
.arg("--bulk-dirs=share/doc/rust/html");
181
+
182
+ builder.info(&format!("Dist compiler docs ({})", host));
183
+ let _time = timeit(builder);
182
184
builder.run(&mut cmd);
183
185
builder.remove_dir(&image);
184
186
@@ -350,6 +352,7 @@ impl Step for Mingw {
350
352
}
351
353
352
354
builder.info(&format!("Dist mingw ({})", host));
355
+ let _time = timeit(builder);
353
356
let name = pkgname(builder, "rust-mingw");
354
357
let image = tmpdir(builder).join(format!("{}-{}-image", name, host));
355
358
let _ = fs::remove_dir_all(&image);
@@ -403,7 +406,6 @@ impl Step for Rustc {
403
406
let compiler = self.compiler;
404
407
let host = self.compiler.host;
405
408
406
- builder.info(&format!("Dist rustc stage{} ({})", compiler.stage, host));
407
409
let name = pkgname(builder, "rustc");
408
410
let image = tmpdir(builder).join(format!("{}-{}-image", name, host));
409
411
let _ = fs::remove_dir_all(&image);
@@ -460,6 +462,9 @@ impl Step for Rustc {
460
462
.arg(format!("--package-name={}-{}", name, host))
461
463
.arg("--component-name=rustc")
462
464
.arg("--legacy-manifest-dirs=rustlib,cargo");
465
+
466
+ builder.info(&format!("Dist rustc stage{} ({})", compiler.stage, host));
467
+ let _time = timeit(builder);
463
468
builder.run(&mut cmd);
464
469
builder.remove_dir(&image);
465
470
builder.remove_dir(&overlay);
@@ -662,8 +667,6 @@ impl Step for Std {
662
667
let target = self.target;
663
668
664
669
let name = pkgname(builder, "rust-std");
665
- builder.info(&format!("Dist std stage{} ({} -> {})",
666
- compiler.stage, &compiler.host, target));
667
670
668
671
// The only true set of target libraries came from the build triple, so
669
672
// let's reduce redundant work by only producing archives from that host.
@@ -714,6 +717,10 @@ impl Step for Std {
714
717
.arg(format!("--package-name={}-{}", name, target))
715
718
.arg(format!("--component-name=rust-std-{}", target))
716
719
.arg("--legacy-manifest-dirs=rustlib,cargo");
720
+
721
+ builder.info(&format!("Dist std stage{} ({} -> {})",
722
+ compiler.stage, &compiler.host, target));
723
+ let _time = timeit(builder);
717
724
builder.run(&mut cmd);
718
725
builder.remove_dir(&image);
719
726
distdir(builder).join(format!("{}-{}.tar.gz", name, target))
@@ -754,11 +761,9 @@ impl Step for Analysis {
754
761
let compiler = self.compiler;
755
762
let target = self.target;
756
763
assert!(builder.config.extended);
757
- builder.info("Dist analysis");
758
764
let name = pkgname(builder, "rust-analysis");
759
765
760
766
if &compiler.host != builder.config.build {
761
- builder.info("\tskipping, not a build host");
762
767
return distdir(builder).join(format!("{}-{}.tar.gz", name, target));
763
768
}
764
769
@@ -786,6 +791,9 @@ impl Step for Analysis {
786
791
.arg(format!("--package-name={}-{}", name, target))
787
792
.arg(format!("--component-name=rust-analysis-{}", target))
788
793
.arg("--legacy-manifest-dirs=rustlib,cargo");
794
+
795
+ builder.info("Dist analysis");
796
+ let _time = timeit(builder);
789
797
builder.run(&mut cmd);
790
798
builder.remove_dir(&image);
791
799
distdir(builder).join(format!("{}-{}.tar.gz", name, target))
@@ -874,8 +882,6 @@ impl Step for Src {
874
882
875
883
/// Creates the `rust-src` installer component
876
884
fn run(self, builder: &Builder<'_>) -> PathBuf {
877
- builder.info("Dist src");
878
-
879
885
let name = pkgname(builder, "rust-src");
880
886
let image = tmpdir(builder).join(format!("{}-image", name));
881
887
let _ = fs::remove_dir_all(&image);
@@ -930,6 +936,9 @@ impl Step for Src {
930
936
.arg(format!("--package-name={}", name))
931
937
.arg("--component-name=rust-src")
932
938
.arg("--legacy-manifest-dirs=rustlib,cargo");
939
+
940
+ builder.info("Dist src");
941
+ let _time = timeit(builder);
933
942
builder.run(&mut cmd);
934
943
935
944
builder.remove_dir(&image);
@@ -957,8 +966,6 @@ impl Step for PlainSourceTarball {
957
966
958
967
/// Creates the plain source tarball
959
968
fn run(self, builder: &Builder<'_>) -> PathBuf {
960
- builder.info("Create plain source tarball");
961
-
962
969
// Make sure that the root folder of tarball has the correct name
963
970
let plain_name = format!("{}-src", pkgname(builder, "rustc"));
964
971
let plain_dst_src = tmpdir(builder).join(&plain_name);
@@ -1020,6 +1027,9 @@ impl Step for PlainSourceTarball {
1020
1027
.arg("--output").arg(&tarball)
1021
1028
.arg("--work-dir=.")
1022
1029
.current_dir(tmpdir(builder));
1030
+
1031
+ builder.info("Create plain source tarball");
1032
+ let _time = timeit(builder);
1023
1033
builder.run(&mut cmd);
1024
1034
distdir(builder).join(&format!("{}.tar.gz", plain_name))
1025
1035
}
@@ -1073,7 +1083,6 @@ impl Step for Cargo {
1073
1083
let compiler = self.compiler;
1074
1084
let target = self.target;
1075
1085
1076
- builder.info(&format!("Dist cargo stage{} ({})", compiler.stage, target));
1077
1086
let src = builder.src.join("src/tools/cargo");
1078
1087
let etc = src.join("src/etc");
1079
1088
let release_num = builder.release_num("cargo");
@@ -1126,6 +1135,9 @@ impl Step for Cargo {
1126
1135
.arg(format!("--package-name={}-{}", name, target))
1127
1136
.arg("--component-name=cargo")
1128
1137
.arg("--legacy-manifest-dirs=rustlib,cargo");
1138
+
1139
+ builder.info(&format!("Dist cargo stage{} ({})", compiler.stage, target));
1140
+ let _time = timeit(builder);
1129
1141
builder.run(&mut cmd);
1130
1142
distdir(builder).join(format!("{}-{}.tar.gz", name, target))
1131
1143
}
@@ -1161,7 +1173,6 @@ impl Step for Rls {
1161
1173
let target = self.target;
1162
1174
assert!(builder.config.extended);
1163
1175
1164
- builder.info(&format!("Dist RLS stage{} ({})", compiler.stage, target));
1165
1176
let src = builder.src.join("src/tools/rls");
1166
1177
let release_num = builder.release_num("rls");
1167
1178
let name = pkgname(builder, "rls");
@@ -1210,6 +1221,8 @@ impl Step for Rls {
1210
1221
.arg("--legacy-manifest-dirs=rustlib,cargo")
1211
1222
.arg("--component-name=rls-preview");
1212
1223
1224
+ builder.info(&format!("Dist RLS stage{} ({})", compiler.stage, target));
1225
+ let _time = timeit(builder);
1213
1226
builder.run(&mut cmd);
1214
1227
Some(distdir(builder).join(format!("{}-{}.tar.gz", name, target)))
1215
1228
}
@@ -1245,7 +1258,6 @@ impl Step for Clippy {
1245
1258
let target = self.target;
1246
1259
assert!(builder.config.extended);
1247
1260
1248
- builder.info(&format!("Dist clippy stage{} ({})", compiler.stage, target));
1249
1261
let src = builder.src.join("src/tools/clippy");
1250
1262
let release_num = builder.release_num("clippy");
1251
1263
let name = pkgname(builder, "clippy");
@@ -1299,6 +1311,8 @@ impl Step for Clippy {
1299
1311
.arg("--legacy-manifest-dirs=rustlib,cargo")
1300
1312
.arg("--component-name=clippy-preview");
1301
1313
1314
+ builder.info(&format!("Dist clippy stage{} ({})", compiler.stage, target));
1315
+ let _time = timeit(builder);
1302
1316
builder.run(&mut cmd);
1303
1317
Some(distdir(builder).join(format!("{}-{}.tar.gz", name, target)))
1304
1318
}
@@ -1334,7 +1348,6 @@ impl Step for Miri {
1334
1348
let target = self.target;
1335
1349
assert!(builder.config.extended);
1336
1350
1337
- builder.info(&format!("Dist miri stage{} ({})", compiler.stage, target));
1338
1351
let src = builder.src.join("src/tools/miri");
1339
1352
let release_num = builder.release_num("miri");
1340
1353
let name = pkgname(builder, "miri");
@@ -1389,6 +1402,8 @@ impl Step for Miri {
1389
1402
.arg("--legacy-manifest-dirs=rustlib,cargo")
1390
1403
.arg("--component-name=miri-preview");
1391
1404
1405
+ builder.info(&format!("Dist miri stage{} ({})", compiler.stage, target));
1406
+ let _time = timeit(builder);
1392
1407
builder.run(&mut cmd);
1393
1408
Some(distdir(builder).join(format!("{}-{}.tar.gz", name, target)))
1394
1409
}
@@ -1423,7 +1438,6 @@ impl Step for Rustfmt {
1423
1438
let compiler = self.compiler;
1424
1439
let target = self.target;
1425
1440
1426
- builder.info(&format!("Dist Rustfmt stage{} ({})", compiler.stage, target));
1427
1441
let src = builder.src.join("src/tools/rustfmt");
1428
1442
let release_num = builder.release_num("rustfmt");
1429
1443
let name = pkgname(builder, "rustfmt");
@@ -1476,6 +1490,8 @@ impl Step for Rustfmt {
1476
1490
.arg("--legacy-manifest-dirs=rustlib,cargo")
1477
1491
.arg("--component-name=rustfmt-preview");
1478
1492
1493
+ builder.info(&format!("Dist Rustfmt stage{} ({})", compiler.stage, target));
1494
+ let _time = timeit(builder);
1479
1495
builder.run(&mut cmd);
1480
1496
Some(distdir(builder).join(format!("{}-{}.tar.gz", name, target)))
1481
1497
}
@@ -1576,6 +1592,7 @@ impl Step for Extended {
1576
1592
input_tarballs.push(tarball);
1577
1593
}
1578
1594
1595
+ builder.info("building combined installer");
1579
1596
let mut cmd = rust_installer(builder);
1580
1597
cmd.arg("combine")
1581
1598
.arg("--product-name=Rust")
@@ -1587,7 +1604,9 @@ impl Step for Extended {
1587
1604
.arg("--legacy-manifest-dirs=rustlib,cargo")
1588
1605
.arg("--input-tarballs").arg(input_tarballs)
1589
1606
.arg("--non-installed-overlay").arg(&overlay);
1607
+ let time = timeit(&builder);
1590
1608
builder.run(&mut cmd);
1609
+ drop(time);
1591
1610
1592
1611
let mut license = String::new();
1593
1612
license += &builder.read(&builder.src.join("COPYRIGHT"));
@@ -1643,6 +1662,7 @@ impl Step for Extended {
1643
1662
};
1644
1663
1645
1664
if target.contains("apple-darwin") {
1665
+ builder.info("building pkg installer");
1646
1666
let pkg = tmp.join("pkg");
1647
1667
let _ = fs::remove_dir_all(&pkg);
1648
1668
@@ -1692,6 +1712,7 @@ impl Step for Extended {
1692
1712
pkgname(builder, "rust"),
1693
1713
target)))
1694
1714
.arg("--package-path").arg(&pkg);
1715
+ let _time = timeit(builder);
1695
1716
builder.run(&mut cmd);
1696
1717
}
1697
1718
@@ -1742,14 +1763,18 @@ impl Step for Extended {
1742
1763
builder.create(&exe.join("LICENSE.txt"), &license);
1743
1764
1744
1765
// Generate exe installer
1766
+ builder.info("building `exe` installer with `iscc`");
1745
1767
let mut cmd = Command::new("iscc");
1746
1768
cmd.arg("rust.iss")
1769
+ .arg("/Q")
1747
1770
.current_dir(&exe);
1748
1771
if target.contains("windows-gnu") {
1749
1772
cmd.arg("/dMINGW");
1750
1773
}
1751
1774
add_env(builder, &mut cmd, target);
1775
+ let time = timeit(builder);
1752
1776
builder.run(&mut cmd);
1777
+ drop(time);
1753
1778
builder.install(&exe.join(format!("{}-{}.exe", pkgname(builder, "rust"), target)),
1754
1779
&distdir(builder),
1755
1780
0o755);
@@ -1914,6 +1939,7 @@ impl Step for Extended {
1914
1939
builder.install(&etc.join("gfx/banner.bmp"), &exe, 0o644);
1915
1940
builder.install(&etc.join("gfx/dialogbg.bmp"), &exe, 0o644);
1916
1941
1942
+ builder.info(&format!("building `msi` installer with {:?}", light));
1917
1943
let filename = format!("{}-{}.msi", pkgname(builder, "rust"), target);
1918
1944
let mut cmd = Command::new(&light);
1919
1945
cmd.arg("-nologo")
@@ -1946,6 +1972,7 @@ impl Step for Extended {
1946
1972
// ICE57 wrongly complains about the shortcuts
1947
1973
cmd.arg("-sice:ICE57");
1948
1974
1975
+ let _time = timeit(builder);
1949
1976
builder.run(&mut cmd);
1950
1977
1951
1978
if !builder.config.dry_run {
@@ -2114,6 +2141,7 @@ impl Step for LlvmTools {
2114
2141
}
2115
2142
2116
2143
builder.info(&format!("Dist LlvmTools ({})", target));
2144
+ let _time = timeit(builder);
2117
2145
let src = builder.src.join("src/llvm-project/llvm");
2118
2146
let name = pkgname(builder, "llvm-tools");
2119
2147
0 commit comments