@@ -59,7 +59,7 @@ pub struct Docs {
5959}
6060
6161impl Step for Docs {
62- type Output = GeneratedTarball ;
62+ type Output = Option < GeneratedTarball > ;
6363 const DEFAULT : bool = true ;
6464
6565 fn should_run ( run : ShouldRun < ' _ > ) -> ShouldRun < ' _ > {
@@ -72,7 +72,7 @@ impl Step for Docs {
7272 }
7373
7474 /// Builds the `rust-docs` installer component.
75- fn run ( self , builder : & Builder < ' _ > ) -> GeneratedTarball {
75+ fn run ( self , builder : & Builder < ' _ > ) -> Option < GeneratedTarball > {
7676 let host = self . host ;
7777 builder. default_doc ( & [ ] ) ;
7878
@@ -82,7 +82,7 @@ impl Step for Docs {
8282 tarball. set_product_name ( "Rust Documentation" ) ;
8383 tarball. add_bulk_dir ( & builder. doc_out ( host) , dest) ;
8484 tarball. add_file ( & builder. src . join ( "src/doc/robots.txt" ) , dest, 0o644 ) ;
85- tarball. generate ( )
85+ Some ( tarball. generate ( ) )
8686 }
8787}
8888
@@ -1359,13 +1359,11 @@ impl Step for Extended {
13591359
13601360 let mut tarballs = Vec :: new ( ) ;
13611361 let mut built_tools = HashSet :: new ( ) ;
1362- macro_rules! add_tool {
1362+ macro_rules! add_component {
13631363 ( $name: expr => $step: expr) => {
1364- if should_build_extended_tool( builder, $name) {
1365- if let Some ( tarball) = builder. ensure( $step) {
1366- tarballs. push( tarball) ;
1367- built_tools. insert( $name) ;
1368- }
1364+ if let Some ( tarball) = builder. ensure_if_default( $step) {
1365+ tarballs. push( tarball) ;
1366+ built_tools. insert( $name) ;
13691367 }
13701368 } ;
13711369 }
@@ -1377,31 +1375,20 @@ impl Step for Extended {
13771375 tarballs. push ( builder. ensure ( Rustc { compiler : builder. compiler ( stage, target) } ) ) ;
13781376 tarballs. push ( builder. ensure ( Std { compiler, target } ) . expect ( "missing std" ) ) ;
13791377
1380- if builder. config . docs {
1381- tarballs. push ( builder. ensure ( Docs { host : target } ) ) ;
1382- }
1383-
13841378 if target. contains ( "windows-gnu" ) {
13851379 tarballs. push ( builder. ensure ( Mingw { host : target } ) . expect ( "missing mingw" ) ) ;
13861380 }
13871381
1388- if builder. config . profiler_enabled ( target)
1389- || should_build_extended_tool ( builder, "rust-demangler" )
1390- {
1391- if let Some ( tarball) = builder. ensure ( RustDemangler { compiler, target } ) {
1392- tarballs. push ( tarball) ;
1393- built_tools. insert ( "rust-demangler" ) ;
1394- }
1395- }
1396-
1397- add_tool ! ( "cargo" => Cargo { compiler, target } ) ;
1398- add_tool ! ( "rustfmt" => Rustfmt { compiler, target } ) ;
1399- add_tool ! ( "rls" => Rls { compiler, target } ) ;
1400- add_tool ! ( "rust-analyzer" => RustAnalyzer { compiler, target } ) ;
1401- add_tool ! ( "llvm-tools" => LlvmTools { target } ) ;
1402- add_tool ! ( "clippy" => Clippy { compiler, target } ) ;
1403- add_tool ! ( "miri" => Miri { compiler, target } ) ;
1404- add_tool ! ( "analysis" => Analysis { compiler, target } ) ;
1382+ add_component ! ( "rust-docs" => Docs { host: target } ) ;
1383+ add_component ! ( "rust-demangler" => RustDemangler { compiler, target } ) ;
1384+ add_component ! ( "cargo" => Cargo { compiler, target } ) ;
1385+ add_component ! ( "rustfmt" => Rustfmt { compiler, target } ) ;
1386+ add_component ! ( "rls" => Rls { compiler, target } ) ;
1387+ add_component ! ( "rust-analyzer" => RustAnalyzer { compiler, target } ) ;
1388+ add_component ! ( "llvm-components" => LlvmTools { target } ) ;
1389+ add_component ! ( "clippy" => Clippy { compiler, target } ) ;
1390+ add_component ! ( "miri" => Miri { compiler, target } ) ;
1391+ add_component ! ( "analysis" => Analysis { compiler, target } ) ;
14051392
14061393 let etc = builder. src . join ( "src/etc/installer" ) ;
14071394
0 commit comments