@@ -708,7 +708,7 @@ pub fn build_rules<'a>(build: &'a Build) -> Rules {
708
708
. host ( true )
709
709
. only_host_build ( true )
710
710
. default ( true )
711
- . dep ( |s| s . name ( "tool-rust-installer" ) . stage ( 0 ) )
711
+ . dep ( move |s| tool_rust_installer ( build , s ) )
712
712
. run ( move |s| dist:: rustc ( build, s. stage , s. target ) ) ;
713
713
rules. dist ( "dist-std" , "src/libstd" )
714
714
. dep ( move |s| {
@@ -723,12 +723,12 @@ pub fn build_rules<'a>(build: &'a Build) -> Rules {
723
723
} )
724
724
. default ( true )
725
725
. only_host_build ( true )
726
- . dep ( |s| s . name ( "tool-rust-installer" ) . stage ( 0 ) )
726
+ . dep ( move |s| tool_rust_installer ( build , s ) )
727
727
. run ( move |s| dist:: std ( build, & s. compiler ( ) , s. target ) ) ;
728
728
rules. dist ( "dist-mingw" , "path/to/nowhere" )
729
729
. default ( true )
730
730
. only_host_build ( true )
731
- . dep ( |s| s . name ( "tool-rust-installer" ) . stage ( 0 ) )
731
+ . dep ( move |s| tool_rust_installer ( build , s ) )
732
732
. run ( move |s| {
733
733
if s. target . contains ( "pc-windows-gnu" ) {
734
734
dist:: mingw ( build, s. target )
@@ -739,25 +739,25 @@ pub fn build_rules<'a>(build: &'a Build) -> Rules {
739
739
. host ( true )
740
740
. only_build ( true )
741
741
. only_host_build ( true )
742
- . dep ( |s| s . name ( "tool-rust-installer" ) . stage ( 0 ) )
742
+ . dep ( move |s| tool_rust_installer ( build , s ) )
743
743
. run ( move |_| dist:: rust_src ( build) ) ;
744
744
rules. dist ( "dist-docs" , "src/doc" )
745
745
. default ( true )
746
746
. only_host_build ( true )
747
747
. dep ( |s| s. name ( "default:doc" ) )
748
- . dep ( |s| s . name ( "tool-rust-installer" ) . stage ( 0 ) )
748
+ . dep ( move |s| tool_rust_installer ( build , s ) )
749
749
. run ( move |s| dist:: docs ( build, s. stage , s. target ) ) ;
750
750
rules. dist ( "dist-analysis" , "analysis" )
751
751
. default ( build. config . extended )
752
752
. dep ( |s| s. name ( "dist-std" ) )
753
753
. only_host_build ( true )
754
- . dep ( |s| s . name ( "tool-rust-installer" ) . stage ( 0 ) )
754
+ . dep ( move |s| tool_rust_installer ( build , s ) )
755
755
. run ( move |s| dist:: analysis ( build, & s. compiler ( ) , s. target ) ) ;
756
756
rules. dist ( "dist-rls" , "rls" )
757
757
. host ( true )
758
758
. only_host_build ( true )
759
759
. dep ( |s| s. name ( "tool-rls" ) )
760
- . dep ( |s| s . name ( "tool-rust-installer" ) . stage ( 0 ) )
760
+ . dep ( move |s| tool_rust_installer ( build , s ) )
761
761
. run ( move |s| dist:: rls ( build, s. stage , s. target ) ) ;
762
762
rules. dist ( "install" , "path/to/nowhere" )
763
763
. dep ( |s| s. name ( "default:dist" ) )
@@ -766,7 +766,7 @@ pub fn build_rules<'a>(build: &'a Build) -> Rules {
766
766
. host ( true )
767
767
. only_host_build ( true )
768
768
. dep ( |s| s. name ( "tool-cargo" ) )
769
- . dep ( |s| s . name ( "tool-rust-installer" ) . stage ( 0 ) )
769
+ . dep ( move |s| tool_rust_installer ( build , s ) )
770
770
. run ( move |s| dist:: cargo ( build, s. stage , s. target ) ) ;
771
771
rules. dist ( "dist-extended" , "extended" )
772
772
. default ( build. config . extended )
@@ -779,7 +779,7 @@ pub fn build_rules<'a>(build: &'a Build) -> Rules {
779
779
. dep ( |d| d. name ( "dist-cargo" ) )
780
780
. dep ( |d| d. name ( "dist-rls" ) )
781
781
. dep ( |d| d. name ( "dist-analysis" ) )
782
- . dep ( |s| s . name ( "tool-rust-installer" ) . stage ( 0 ) )
782
+ . dep ( move |s| tool_rust_installer ( build , s ) )
783
783
. run ( move |s| dist:: extended ( build, s. stage , s. target ) ) ;
784
784
785
785
rules. dist ( "dist-sign" , "hash-and-sign" )
@@ -791,6 +791,14 @@ pub fn build_rules<'a>(build: &'a Build) -> Rules {
791
791
792
792
rules. verify ( ) ;
793
793
return rules;
794
+
795
+ /// Helper to depend on a stage0 build-only rust-installer tool.
796
+ fn tool_rust_installer < ' a > ( build : & ' a Build , step : & Step < ' a > ) -> Step < ' a > {
797
+ step. name ( "tool-rust-installer" )
798
+ . host ( & build. config . build )
799
+ . target ( & build. config . build )
800
+ . stage ( 0 )
801
+ }
794
802
}
795
803
796
804
#[ derive( PartialEq , Eq , Hash , Clone , Debug ) ]
0 commit comments