@@ -405,7 +405,7 @@ impl Step for Standalone {
405
405
cmd. arg ( "--html-after-content" ) . arg ( & footer)
406
406
. arg ( "--html-before-content" ) . arg ( & version_info)
407
407
. arg ( "--html-in-header" ) . arg ( & favicon)
408
- . arg ( "--index-page" ) . arg ( "src/doc/index.md" )
408
+ . arg ( "--index-page" ) . arg ( & builder . src . join ( "src/doc/index.md" ) )
409
409
. arg ( "--markdown-playground-url" )
410
410
. arg ( "https://play.rust-lang.org/" )
411
411
. arg ( "-o" ) . arg ( & out)
@@ -482,22 +482,27 @@ impl Step for Std {
482
482
let my_out = builder. crate_doc_out ( target) ;
483
483
t ! ( symlink_dir_force( & builder. config, & my_out, & out_dir) ) ;
484
484
485
- let mut cargo = builder. cargo ( compiler, Mode :: Std , target, "doc" ) ;
486
- compile:: std_cargo ( builder, & compiler, target, & mut cargo) ;
485
+ let run_cargo_rustdoc_for = |package : & str | {
486
+ let mut cargo = builder. cargo ( compiler, Mode :: Std , target, "rustdoc" ) ;
487
+ compile:: std_cargo ( builder, & compiler, target, & mut cargo) ;
487
488
488
- // Keep a whitelist so we do not build internal stdlib crates, these will be
489
- // build by the rustc step later if enabled.
490
- cargo. arg ( "--no-deps" ) ;
491
- for krate in & [ "alloc" , "core" , "std" ] {
492
- cargo. arg ( "-p" ) . arg ( krate) ;
489
+ // Keep a whitelist so we do not build internal stdlib crates, these will be
490
+ // build by the rustc step later if enabled.
491
+ cargo. arg ( "-Z" ) . arg ( "unstable-options" )
492
+ . arg ( "-p" ) . arg ( package) ;
493
493
// Create all crate output directories first to make sure rustdoc uses
494
494
// relative links.
495
495
// FIXME: Cargo should probably do this itself.
496
- t ! ( fs:: create_dir_all( out_dir. join( krate) ) ) ;
497
- }
496
+ t ! ( fs:: create_dir_all( out_dir. join( package) ) ) ;
497
+ cargo. arg ( "--" )
498
+ . arg ( "index-page" ) . arg ( & builder. src . join ( "src/doc/index.md" ) ) ;
498
499
499
- builder. run ( & mut cargo) ;
500
- builder. cp_r ( & my_out, & out) ;
500
+ builder. run ( & mut cargo) ;
501
+ builder. cp_r ( & my_out, & out) ;
502
+ } ;
503
+ for krate in & [ "alloc" , "core" , "std" ] {
504
+ run_cargo_rustdoc_for ( krate) ;
505
+ }
501
506
}
502
507
}
503
508
0 commit comments