@@ -19,7 +19,7 @@ use crate::builder::{Builder, RunConfig, ShouldRun, Step};
1919use crate :: cache:: { Interned , INTERNER } ;
2020use crate :: compile;
2121use crate :: config:: TargetSelection ;
22- use crate :: tarball:: { OverlayKind , Tarball } ;
22+ use crate :: tarball:: { GeneratedTarball , OverlayKind , Tarball } ;
2323use crate :: tool:: { self , Tool } ;
2424use crate :: util:: { exe, is_dylib, timeit} ;
2525use crate :: { Compiler , DependencyType , Mode , LLVM_TOOLS } ;
@@ -51,7 +51,7 @@ pub struct Docs {
5151}
5252
5353impl Step for Docs {
54- type Output = Option < PathBuf > ;
54+ type Output = Option < GeneratedTarball > ;
5555 const DEFAULT : bool = true ;
5656
5757 fn should_run ( run : ShouldRun < ' _ > ) -> ShouldRun < ' _ > {
@@ -63,7 +63,7 @@ impl Step for Docs {
6363 }
6464
6565 /// Builds the `rust-docs` installer component.
66- fn run ( self , builder : & Builder < ' _ > ) -> Option < PathBuf > {
66+ fn run ( self , builder : & Builder < ' _ > ) -> Option < GeneratedTarball > {
6767 let host = self . host ;
6868 if !builder. config . docs {
6969 return None ;
@@ -86,7 +86,7 @@ pub struct RustcDocs {
8686}
8787
8888impl Step for RustcDocs {
89- type Output = Option < PathBuf > ;
89+ type Output = Option < GeneratedTarball > ;
9090 const DEFAULT : bool = true ;
9191
9292 fn should_run ( run : ShouldRun < ' _ > ) -> ShouldRun < ' _ > {
@@ -98,7 +98,7 @@ impl Step for RustcDocs {
9898 }
9999
100100 /// Builds the `rustc-docs` installer component.
101- fn run ( self , builder : & Builder < ' _ > ) -> Option < PathBuf > {
101+ fn run ( self , builder : & Builder < ' _ > ) -> Option < GeneratedTarball > {
102102 let host = self . host ;
103103 if !builder. config . compiler_docs {
104104 return None ;
@@ -267,7 +267,7 @@ pub struct Mingw {
267267}
268268
269269impl Step for Mingw {
270- type Output = Option < PathBuf > ;
270+ type Output = Option < GeneratedTarball > ;
271271 const DEFAULT : bool = true ;
272272
273273 fn should_run ( run : ShouldRun < ' _ > ) -> ShouldRun < ' _ > {
@@ -282,7 +282,7 @@ impl Step for Mingw {
282282 ///
283283 /// This contains all the bits and pieces to run the MinGW Windows targets
284284 /// without any extra installed software (e.g., we bundle gcc, libraries, etc).
285- fn run ( self , builder : & Builder < ' _ > ) -> Option < PathBuf > {
285+ fn run ( self , builder : & Builder < ' _ > ) -> Option < GeneratedTarball > {
286286 let host = self . host ;
287287 if !host. contains ( "pc-windows-gnu" ) {
288288 return None ;
@@ -307,7 +307,7 @@ pub struct Rustc {
307307}
308308
309309impl Step for Rustc {
310- type Output = PathBuf ;
310+ type Output = GeneratedTarball ;
311311 const DEFAULT : bool = true ;
312312 const ONLY_HOSTS : bool = true ;
313313
@@ -321,7 +321,7 @@ impl Step for Rustc {
321321 }
322322
323323 /// Creates the `rustc` installer component.
324- fn run ( self , builder : & Builder < ' _ > ) -> PathBuf {
324+ fn run ( self , builder : & Builder < ' _ > ) -> GeneratedTarball {
325325 let compiler = self . compiler ;
326326 let host = self . compiler . host ;
327327
@@ -555,7 +555,7 @@ pub struct Std {
555555}
556556
557557impl Step for Std {
558- type Output = Option < PathBuf > ;
558+ type Output = Option < GeneratedTarball > ;
559559 const DEFAULT : bool = true ;
560560
561561 fn should_run ( run : ShouldRun < ' _ > ) -> ShouldRun < ' _ > {
@@ -573,7 +573,7 @@ impl Step for Std {
573573 } ) ;
574574 }
575575
576- fn run ( self , builder : & Builder < ' _ > ) -> Option < PathBuf > {
576+ fn run ( self , builder : & Builder < ' _ > ) -> Option < GeneratedTarball > {
577577 let compiler = self . compiler ;
578578 let target = self . target ;
579579
@@ -601,7 +601,7 @@ pub struct RustcDev {
601601}
602602
603603impl Step for RustcDev {
604- type Output = Option < PathBuf > ;
604+ type Output = Option < GeneratedTarball > ;
605605 const DEFAULT : bool = true ;
606606 const ONLY_HOSTS : bool = true ;
607607
@@ -620,7 +620,7 @@ impl Step for RustcDev {
620620 } ) ;
621621 }
622622
623- fn run ( self , builder : & Builder < ' _ > ) -> Option < PathBuf > {
623+ fn run ( self , builder : & Builder < ' _ > ) -> Option < GeneratedTarball > {
624624 let compiler = self . compiler ;
625625 let target = self . target ;
626626 if skip_host_target_lib ( builder, compiler) {
@@ -660,7 +660,7 @@ pub struct Analysis {
660660}
661661
662662impl Step for Analysis {
663- type Output = Option < PathBuf > ;
663+ type Output = Option < GeneratedTarball > ;
664664 const DEFAULT : bool = true ;
665665
666666 fn should_run ( run : ShouldRun < ' _ > ) -> ShouldRun < ' _ > {
@@ -683,7 +683,7 @@ impl Step for Analysis {
683683 }
684684
685685 /// Creates a tarball of save-analysis metadata, if available.
686- fn run ( self , builder : & Builder < ' _ > ) -> Option < PathBuf > {
686+ fn run ( self , builder : & Builder < ' _ > ) -> Option < GeneratedTarball > {
687687 let compiler = self . compiler ;
688688 let target = self . target ;
689689 assert ! ( builder. config. extended) ;
@@ -796,7 +796,7 @@ pub struct Src;
796796
797797impl Step for Src {
798798 /// The output path of the src installer tarball
799- type Output = PathBuf ;
799+ type Output = GeneratedTarball ;
800800 const DEFAULT : bool = true ;
801801 const ONLY_HOSTS : bool = true ;
802802
@@ -809,7 +809,7 @@ impl Step for Src {
809809 }
810810
811811 /// Creates the `rust-src` installer component
812- fn run ( self , builder : & Builder < ' _ > ) -> PathBuf {
812+ fn run ( self , builder : & Builder < ' _ > ) -> GeneratedTarball {
813813 let tarball = Tarball :: new_targetless ( builder, "rust-src" ) ;
814814
815815 // A lot of tools expect the rust-src component to be entirely in this directory, so if you
@@ -848,7 +848,7 @@ pub struct PlainSourceTarball;
848848
849849impl Step for PlainSourceTarball {
850850 /// Produces the location of the tarball generated
851- type Output = PathBuf ;
851+ type Output = GeneratedTarball ;
852852 const DEFAULT : bool = true ;
853853 const ONLY_HOSTS : bool = true ;
854854
@@ -862,7 +862,7 @@ impl Step for PlainSourceTarball {
862862 }
863863
864864 /// Creates the plain source tarball
865- fn run ( self , builder : & Builder < ' _ > ) -> PathBuf {
865+ fn run ( self , builder : & Builder < ' _ > ) -> GeneratedTarball {
866866 let tarball = Tarball :: new ( builder, "rustc" , "src" ) ;
867867 let plain_dst_src = tarball. image_dir ( ) ;
868868
@@ -941,7 +941,7 @@ pub struct Cargo {
941941}
942942
943943impl Step for Cargo {
944- type Output = PathBuf ;
944+ type Output = GeneratedTarball ;
945945 const ONLY_HOSTS : bool = true ;
946946
947947 fn should_run ( run : ShouldRun < ' _ > ) -> ShouldRun < ' _ > {
@@ -959,7 +959,7 @@ impl Step for Cargo {
959959 } ) ;
960960 }
961961
962- fn run ( self , builder : & Builder < ' _ > ) -> PathBuf {
962+ fn run ( self , builder : & Builder < ' _ > ) -> GeneratedTarball {
963963 let compiler = self . compiler ;
964964 let target = self . target ;
965965
@@ -995,7 +995,7 @@ pub struct Rls {
995995}
996996
997997impl Step for Rls {
998- type Output = Option < PathBuf > ;
998+ type Output = Option < GeneratedTarball > ;
999999 const ONLY_HOSTS : bool = true ;
10001000
10011001 fn should_run ( run : ShouldRun < ' _ > ) -> ShouldRun < ' _ > {
@@ -1013,7 +1013,7 @@ impl Step for Rls {
10131013 } ) ;
10141014 }
10151015
1016- fn run ( self , builder : & Builder < ' _ > ) -> Option < PathBuf > {
1016+ fn run ( self , builder : & Builder < ' _ > ) -> Option < GeneratedTarball > {
10171017 let compiler = self . compiler ;
10181018 let target = self . target ;
10191019 assert ! ( builder. config. extended) ;
@@ -1047,7 +1047,7 @@ pub struct RustAnalyzer {
10471047}
10481048
10491049impl Step for RustAnalyzer {
1050- type Output = Option < PathBuf > ;
1050+ type Output = Option < GeneratedTarball > ;
10511051 const ONLY_HOSTS : bool = true ;
10521052
10531053 fn should_run ( run : ShouldRun < ' _ > ) -> ShouldRun < ' _ > {
@@ -1065,7 +1065,7 @@ impl Step for RustAnalyzer {
10651065 } ) ;
10661066 }
10671067
1068- fn run ( self , builder : & Builder < ' _ > ) -> Option < PathBuf > {
1068+ fn run ( self , builder : & Builder < ' _ > ) -> Option < GeneratedTarball > {
10691069 let compiler = self . compiler ;
10701070 let target = self . target ;
10711071 assert ! ( builder. config. extended) ;
@@ -1096,7 +1096,7 @@ pub struct Clippy {
10961096}
10971097
10981098impl Step for Clippy {
1099- type Output = PathBuf ;
1099+ type Output = GeneratedTarball ;
11001100 const ONLY_HOSTS : bool = true ;
11011101
11021102 fn should_run ( run : ShouldRun < ' _ > ) -> ShouldRun < ' _ > {
@@ -1114,7 +1114,7 @@ impl Step for Clippy {
11141114 } ) ;
11151115 }
11161116
1117- fn run ( self , builder : & Builder < ' _ > ) -> PathBuf {
1117+ fn run ( self , builder : & Builder < ' _ > ) -> GeneratedTarball {
11181118 let compiler = self . compiler ;
11191119 let target = self . target ;
11201120 assert ! ( builder. config. extended) ;
@@ -1146,7 +1146,7 @@ pub struct Miri {
11461146}
11471147
11481148impl Step for Miri {
1149- type Output = Option < PathBuf > ;
1149+ type Output = Option < GeneratedTarball > ;
11501150 const ONLY_HOSTS : bool = true ;
11511151
11521152 fn should_run ( run : ShouldRun < ' _ > ) -> ShouldRun < ' _ > {
@@ -1164,7 +1164,7 @@ impl Step for Miri {
11641164 } ) ;
11651165 }
11661166
1167- fn run ( self , builder : & Builder < ' _ > ) -> Option < PathBuf > {
1167+ fn run ( self , builder : & Builder < ' _ > ) -> Option < GeneratedTarball > {
11681168 let compiler = self . compiler ;
11691169 let target = self . target ;
11701170 assert ! ( builder. config. extended) ;
@@ -1199,7 +1199,7 @@ pub struct Rustfmt {
11991199}
12001200
12011201impl Step for Rustfmt {
1202- type Output = Option < PathBuf > ;
1202+ type Output = Option < GeneratedTarball > ;
12031203 const ONLY_HOSTS : bool = true ;
12041204
12051205 fn should_run ( run : ShouldRun < ' _ > ) -> ShouldRun < ' _ > {
@@ -1217,7 +1217,7 @@ impl Step for Rustfmt {
12171217 } ) ;
12181218 }
12191219
1220- fn run ( self , builder : & Builder < ' _ > ) -> Option < PathBuf > {
1220+ fn run ( self , builder : & Builder < ' _ > ) -> Option < GeneratedTarball > {
12211221 let compiler = self . compiler ;
12221222 let target = self . target ;
12231223
@@ -1876,7 +1876,7 @@ pub struct LlvmTools {
18761876}
18771877
18781878impl Step for LlvmTools {
1879- type Output = Option < PathBuf > ;
1879+ type Output = Option < GeneratedTarball > ;
18801880 const ONLY_HOSTS : bool = true ;
18811881
18821882 fn should_run ( run : ShouldRun < ' _ > ) -> ShouldRun < ' _ > {
@@ -1887,7 +1887,7 @@ impl Step for LlvmTools {
18871887 run. builder . ensure ( LlvmTools { target : run. target } ) ;
18881888 }
18891889
1890- fn run ( self , builder : & Builder < ' _ > ) -> Option < PathBuf > {
1890+ fn run ( self , builder : & Builder < ' _ > ) -> Option < GeneratedTarball > {
18911891 let target = self . target ;
18921892 assert ! ( builder. config. extended) ;
18931893
@@ -1930,7 +1930,7 @@ pub struct RustDev {
19301930}
19311931
19321932impl Step for RustDev {
1933- type Output = Option < PathBuf > ;
1933+ type Output = Option < GeneratedTarball > ;
19341934 const DEFAULT : bool = true ;
19351935 const ONLY_HOSTS : bool = true ;
19361936
@@ -1942,7 +1942,7 @@ impl Step for RustDev {
19421942 run. builder . ensure ( RustDev { target : run. target } ) ;
19431943 }
19441944
1945- fn run ( self , builder : & Builder < ' _ > ) -> Option < PathBuf > {
1945+ fn run ( self , builder : & Builder < ' _ > ) -> Option < GeneratedTarball > {
19461946 let target = self . target ;
19471947
19481948 /* run only if llvm-config isn't used */
@@ -1995,7 +1995,7 @@ pub struct BuildManifest {
19951995}
19961996
19971997impl Step for BuildManifest {
1998- type Output = PathBuf ;
1998+ type Output = GeneratedTarball ;
19991999 const DEFAULT : bool = false ;
20002000 const ONLY_HOSTS : bool = true ;
20012001
@@ -2007,7 +2007,7 @@ impl Step for BuildManifest {
20072007 run. builder . ensure ( BuildManifest { target : run. target } ) ;
20082008 }
20092009
2010- fn run ( self , builder : & Builder < ' _ > ) -> PathBuf {
2010+ fn run ( self , builder : & Builder < ' _ > ) -> GeneratedTarball {
20112011 let build_manifest = builder. tool_exe ( Tool :: BuildManifest ) ;
20122012
20132013 let tarball = Tarball :: new ( builder, "build-manifest" , & self . target . triple ) ;
@@ -2027,7 +2027,7 @@ pub struct ReproducibleArtifacts {
20272027}
20282028
20292029impl Step for ReproducibleArtifacts {
2030- type Output = Option < PathBuf > ;
2030+ type Output = Option < GeneratedTarball > ;
20312031 const DEFAULT : bool = true ;
20322032 const ONLY_HOSTS : bool = true ;
20332033
0 commit comments