@@ -26,12 +26,6 @@ use std::process::{Command, Stdio};
2626
2727use build_helper:: output;
2828
29- #[ cfg( not( target_os = "solaris" ) ) ]
30- const SH_CMD : & ' static str = "sh" ;
31- // On Solaris, sh is the historical bourne shell, not a POSIX shell, or bash.
32- #[ cfg( target_os = "solaris" ) ]
33- const SH_CMD : & ' static str = "bash" ;
34-
3529use { Build , Compiler , Mode } ;
3630use channel;
3731use util:: { cp_r, libdir, is_dylib, cp_filtered, copy, exe} ;
@@ -55,6 +49,10 @@ pub fn tmpdir(build: &Build) -> PathBuf {
5549 build. out . join ( "tmp/dist" )
5650}
5751
52+ fn rust_installer ( build : & Build ) -> Command {
53+ build. tool_cmd ( & Compiler :: new ( 0 , & build. config . build ) , "rust-installer" )
54+ }
55+
5856/// Builds the `rust-docs` installer component.
5957///
6058/// Slurps up documentation from the `stage`'s `host`.
@@ -74,8 +72,8 @@ pub fn docs(build: &Build, stage: u32, host: &str) {
7472 let src = build. out . join ( host) . join ( "doc" ) ;
7573 cp_r ( & src, & dst) ;
7674
77- let mut cmd = Command :: new ( SH_CMD ) ;
78- cmd. arg ( sanitize_sh ( & build . src . join ( "src/rust-installer/gen-installer.sh" ) ) )
75+ let mut cmd = rust_installer ( build ) ;
76+ cmd. arg ( "generate" )
7977 . arg ( "--product-name=Rust-Documentation" )
8078 . arg ( "--rel-manifest-dir=rustlib" )
8179 . arg ( "--success-message=Rust-documentation-is-installed." )
@@ -124,8 +122,8 @@ pub fn mingw(build: &Build, host: &str) {
124122 . arg ( host) ;
125123 build. run ( & mut cmd) ;
126124
127- let mut cmd = Command :: new ( SH_CMD ) ;
128- cmd. arg ( sanitize_sh ( & build . src . join ( "src/rust-installer/gen-installer.sh" ) ) )
125+ let mut cmd = rust_installer ( build ) ;
126+ cmd. arg ( "generate" )
129127 . arg ( "--product-name=Rust-MinGW" )
130128 . arg ( "--rel-manifest-dir=rustlib" )
131129 . arg ( "--success-message=Rust-MinGW-is-installed." )
@@ -190,8 +188,8 @@ pub fn rustc(build: &Build, stage: u32, host: &str) {
190188 }
191189
192190 // Finally, wrap everything up in a nice tarball!
193- let mut cmd = Command :: new ( SH_CMD ) ;
194- cmd. arg ( sanitize_sh ( & build . src . join ( "src/rust-installer/gen-installer.sh" ) ) )
191+ let mut cmd = rust_installer ( build ) ;
192+ cmd. arg ( "generate" )
195193 . arg ( "--product-name=Rust" )
196194 . arg ( "--rel-manifest-dir=rustlib" )
197195 . arg ( "--success-message=Rust-is-ready-to-roll." )
@@ -300,8 +298,8 @@ pub fn std(build: &Build, compiler: &Compiler, target: &str) {
300298 let src = build. sysroot ( compiler) . join ( "lib/rustlib" ) ;
301299 cp_r ( & src. join ( target) , & dst) ;
302300
303- let mut cmd = Command :: new ( SH_CMD ) ;
304- cmd. arg ( sanitize_sh ( & build . src . join ( "src/rust-installer/gen-installer.sh" ) ) )
301+ let mut cmd = rust_installer ( build ) ;
302+ cmd. arg ( "generate" )
305303 . arg ( "--product-name=Rust" )
306304 . arg ( "--rel-manifest-dir=rustlib" )
307305 . arg ( "--success-message=std-is-standing-at-the-ready." )
@@ -356,8 +354,8 @@ pub fn analysis(build: &Build, compiler: &Compiler, target: &str) {
356354 println ! ( "image_src: {:?}, dst: {:?}" , image_src, dst) ;
357355 cp_r ( & image_src, & dst) ;
358356
359- let mut cmd = Command :: new ( SH_CMD ) ;
360- cmd. arg ( sanitize_sh ( & build . src . join ( "src/rust-installer/gen-installer.sh" ) ) )
357+ let mut cmd = rust_installer ( build ) ;
358+ cmd. arg ( "generate" )
361359 . arg ( "--product-name=Rust" )
362360 . arg ( "--rel-manifest-dir=rustlib" )
363361 . arg ( "--success-message=save-analysis-saved." )
@@ -521,8 +519,8 @@ pub fn rust_src(build: &Build) {
521519 }
522520
523521 // Create source tarball in rust-installer format
524- let mut cmd = Command :: new ( SH_CMD ) ;
525- cmd. arg ( sanitize_sh ( & build . src . join ( "src/rust-installer/gen-installer.sh" ) ) )
522+ let mut cmd = rust_installer ( build ) ;
523+ cmd. arg ( "generate" )
526524 . arg ( "--product-name=Rust" )
527525 . arg ( "--rel-manifest-dir=rustlib" )
528526 . arg ( "--success-message=Awesome-Source." )
@@ -622,8 +620,8 @@ pub fn cargo(build: &Build, stage: u32, target: &str) {
622620 t ! ( t!( File :: create( overlay. join( "version" ) ) ) . write_all( version. as_bytes( ) ) ) ;
623621
624622 // Generate the installer tarball
625- let mut cmd = Command :: new ( "sh" ) ;
626- cmd. arg ( sanitize_sh ( & build . src . join ( "src/rust-installer/gen-installer.sh" ) ) )
623+ let mut cmd = rust_installer ( build ) ;
624+ cmd. arg ( "generate" )
627625 . arg ( "--product-name=Rust" )
628626 . arg ( "--rel-manifest-dir=rustlib" )
629627 . arg ( "--success-message=Rust-is-ready-to-roll." )
@@ -671,8 +669,8 @@ pub fn rls(build: &Build, stage: u32, target: &str) {
671669 t ! ( t!( File :: create( overlay. join( "version" ) ) ) . write_all( version. as_bytes( ) ) ) ;
672670
673671 // Generate the installer tarball
674- let mut cmd = Command :: new ( "sh" ) ;
675- cmd. arg ( sanitize_sh ( & build . src . join ( "src/rust-installer/gen-installer.sh" ) ) )
672+ let mut cmd = rust_installer ( build ) ;
673+ cmd. arg ( "generate" )
676674 . arg ( "--product-name=Rust" )
677675 . arg ( "--rel-manifest-dir=rustlib" )
678676 . arg ( "--success-message=RLS-ready-to-serve." )
@@ -742,8 +740,8 @@ pub fn extended(build: &Build, stage: u32, target: &str) {
742740 input_tarballs. push_str ( & sanitize_sh ( & mingw_installer) ) ;
743741 }
744742
745- let mut cmd = Command :: new ( SH_CMD ) ;
746- cmd. arg ( sanitize_sh ( & build . src . join ( "src/rust-installer/ combine-installers.sh" ) ) )
743+ let mut cmd = rust_installer ( build ) ;
744+ cmd. arg ( " combine" )
747745 . arg ( "--product-name=Rust" )
748746 . arg ( "--rel-manifest-dir=rustlib" )
749747 . arg ( "--success-message=Rust-is-ready-to-roll." )
0 commit comments