@@ -685,8 +685,6 @@ impl Step for Rustc {
685
685
target,
686
686
) ;
687
687
688
- let out_dir = builder. stage_out ( compiler, Mode :: Rustc ) . join ( target. triple ) . join ( "doc" ) ;
689
-
690
688
// Build cargo command.
691
689
let mut cargo = builder. cargo ( compiler, Mode :: Rustc , SourceType :: InTree , target, "doc" ) ;
692
690
cargo. rustdocflag ( "--document-private-items" ) ;
@@ -713,6 +711,7 @@ impl Step for Rustc {
713
711
714
712
let mut to_open = None ;
715
713
714
+ let out_dir = builder. stage_out ( compiler, Mode :: Rustc ) . join ( target. triple ) . join ( "doc" ) ;
716
715
for krate in & * self . crates {
717
716
// Create all crate output directories first to make sure rustdoc uses
718
717
// relative links.
@@ -822,22 +821,6 @@ macro_rules! tool_doc {
822
821
SourceType :: Submodule
823
822
} ;
824
823
825
- // Symlink compiler docs to the output directory of rustdoc documentation.
826
- let out_dirs = [
827
- builder. stage_out( compiler, Mode :: ToolRustc ) . join( target. triple) . join( "doc" ) ,
828
- // Cargo uses a different directory for proc macros.
829
- builder. stage_out( compiler, Mode :: ToolRustc ) . join( "doc" ) ,
830
- ] ;
831
-
832
- $( for krate in $crates {
833
- let dir_name = krate. replace( "-" , "_" ) ;
834
- t!( fs:: create_dir_all( & out. join( dir_name) ) ) ;
835
- } ) ?
836
-
837
- for out_dir in out_dirs {
838
- symlink_dir_force( & builder. config, & out, & out_dir) ;
839
- }
840
-
841
824
// Build cargo command.
842
825
let mut cargo = prepare_tool_cargo(
843
826
builder,
@@ -870,6 +853,17 @@ macro_rules! tool_doc {
870
853
cargo. rustdocflag( "--generate-link-to-definition" ) ;
871
854
cargo. rustdocflag( "-Zunstable-options" ) ;
872
855
856
+ let out_dir = builder. stage_out( compiler, Mode :: ToolRustc ) . join( target. triple) . join( "doc" ) ;
857
+ $( for krate in $crates {
858
+ let dir_name = krate. replace( "-" , "_" ) ;
859
+ t!( fs:: create_dir_all( out_dir. join( & * dir_name) ) ) ;
860
+ } ) ?
861
+
862
+ // Symlink compiler docs to the output directory of rustdoc documentation.
863
+ symlink_dir_force( & builder. config, & out, & out_dir) ;
864
+ let proc_macro_out_dir = builder. stage_out( compiler, Mode :: ToolRustc ) . join( "doc" ) ;
865
+ symlink_dir_force( & builder. config, & out, & proc_macro_out_dir) ;
866
+
873
867
let _guard = builder. msg_doc( compiler, stringify!( $tool) . to_lowercase( ) , target) ;
874
868
builder. run( & mut cargo. into( ) ) ;
875
869
0 commit comments