@@ -104,9 +104,10 @@ impl Step for ToolBuild {
104104 let is_ext_tool = self . is_ext_tool ;
105105
106106 match self . mode {
107- Mode :: ToolStd => builder. ensure ( compile:: Std { compiler, target } ) ,
108- Mode :: ToolTest => builder. ensure ( compile:: Test { compiler, target } ) ,
109- Mode :: ToolRustc => builder. ensure ( compile:: Rustc { compiler, target } ) ,
107+ Mode :: ToolRustc => {
108+ builder. ensure ( compile:: Rustc { compiler, target } )
109+ }
110+ Mode :: ToolBootstrap => { } // uses downloaded stage0 compiler libs
110111 _ => panic ! ( "unexpected Mode for tool build" )
111112 }
112113
@@ -341,17 +342,17 @@ macro_rules! tool {
341342}
342343
343344tool ! (
344- Rustbook , "src/tools/rustbook" , "rustbook" , Mode :: ToolRustc ;
345+ Rustbook , "src/tools/rustbook" , "rustbook" , Mode :: ToolBootstrap ;
345346 ErrorIndex , "src/tools/error_index_generator" , "error_index_generator" , Mode :: ToolRustc ;
346- UnstableBookGen , "src/tools/unstable-book-gen" , "unstable-book-gen" , Mode :: ToolStd ;
347- Tidy , "src/tools/tidy" , "tidy" , Mode :: ToolStd ;
348- Linkchecker , "src/tools/linkchecker" , "linkchecker" , Mode :: ToolStd ;
349- CargoTest , "src/tools/cargotest" , "cargotest" , Mode :: ToolStd ;
350- Compiletest , "src/tools/compiletest" , "compiletest" , Mode :: ToolTest , llvm_tools = true ;
351- BuildManifest , "src/tools/build-manifest" , "build-manifest" , Mode :: ToolStd ;
352- RemoteTestClient , "src/tools/remote-test-client" , "remote-test-client" , Mode :: ToolStd ;
353- RustInstaller , "src/tools/rust-installer" , "fabricate" , Mode :: ToolStd ;
354- RustdocTheme , "src/tools/rustdoc-themes" , "rustdoc-themes" , Mode :: ToolStd ;
347+ UnstableBookGen , "src/tools/unstable-book-gen" , "unstable-book-gen" , Mode :: ToolBootstrap ;
348+ Tidy , "src/tools/tidy" , "tidy" , Mode :: ToolBootstrap ;
349+ Linkchecker , "src/tools/linkchecker" , "linkchecker" , Mode :: ToolBootstrap ;
350+ CargoTest , "src/tools/cargotest" , "cargotest" , Mode :: ToolBootstrap ;
351+ Compiletest , "src/tools/compiletest" , "compiletest" , Mode :: ToolBootstrap , llvm_tools = true ;
352+ BuildManifest , "src/tools/build-manifest" , "build-manifest" , Mode :: ToolBootstrap ;
353+ RemoteTestClient , "src/tools/remote-test-client" , "remote-test-client" , Mode :: ToolBootstrap ;
354+ RustInstaller , "src/tools/rust-installer" , "fabricate" , Mode :: ToolBootstrap ;
355+ RustdocTheme , "src/tools/rustdoc-themes" , "rustdoc-themes" , Mode :: ToolBootstrap ;
355356) ;
356357
357358#[ derive( Debug , Copy , Clone , Hash , PartialEq , Eq ) ]
@@ -379,7 +380,7 @@ impl Step for RemoteTestServer {
379380 compiler : self . compiler ,
380381 target : self . target ,
381382 tool : "remote-test-server" ,
382- mode : Mode :: ToolStd ,
383+ mode : Mode :: ToolBootstrap ,
383384 path : "src/tools/remote-test-server" ,
384385 is_ext_tool : false ,
385386 extra_features : Vec :: new ( ) ,
@@ -604,7 +605,11 @@ impl<'a> Builder<'a> {
604605 fn prepare_tool_cmd ( & self , compiler : Compiler , tool : Tool , cmd : & mut Command ) {
605606 let host = & compiler. host ;
606607 let mut lib_paths: Vec < PathBuf > = vec ! [
607- PathBuf :: from( & self . sysroot_libdir( compiler, compiler. host) ) ,
608+ if compiler. stage == 0 {
609+ self . build. rustc_snapshot_libdir( )
610+ } else {
611+ PathBuf :: from( & self . sysroot_libdir( compiler, compiler. host) )
612+ } ,
608613 self . cargo_out( compiler, tool. get_mode( ) , * host) . join( "deps" ) ,
609614 ] ;
610615
0 commit comments