@@ -26,12 +26,6 @@ use std::process::{Command, Stdio};
26
26
27
27
use build_helper:: output;
28
28
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
-
35
29
use { Build , Compiler , Mode } ;
36
30
use channel;
37
31
use util:: { cp_r, libdir, is_dylib, cp_filtered, copy, exe} ;
@@ -55,6 +49,10 @@ pub fn tmpdir(build: &Build) -> PathBuf {
55
49
build. out . join ( "tmp/dist" )
56
50
}
57
51
52
+ fn rust_installer ( build : & Build ) -> Command {
53
+ build. tool_cmd ( & Compiler :: new ( 0 , & build. config . build ) , "rust-installer" )
54
+ }
55
+
58
56
/// Builds the `rust-docs` installer component.
59
57
///
60
58
/// Slurps up documentation from the `stage`'s `host`.
@@ -74,8 +72,8 @@ pub fn docs(build: &Build, stage: u32, host: &str) {
74
72
let src = build. out . join ( host) . join ( "doc" ) ;
75
73
cp_r ( & src, & dst) ;
76
74
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" )
79
77
. arg ( "--product-name=Rust-Documentation" )
80
78
. arg ( "--rel-manifest-dir=rustlib" )
81
79
. arg ( "--success-message=Rust-documentation-is-installed." )
@@ -124,8 +122,8 @@ pub fn mingw(build: &Build, host: &str) {
124
122
. arg ( host) ;
125
123
build. run ( & mut cmd) ;
126
124
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" )
129
127
. arg ( "--product-name=Rust-MinGW" )
130
128
. arg ( "--rel-manifest-dir=rustlib" )
131
129
. arg ( "--success-message=Rust-MinGW-is-installed." )
@@ -190,8 +188,8 @@ pub fn rustc(build: &Build, stage: u32, host: &str) {
190
188
}
191
189
192
190
// 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" )
195
193
. arg ( "--product-name=Rust" )
196
194
. arg ( "--rel-manifest-dir=rustlib" )
197
195
. arg ( "--success-message=Rust-is-ready-to-roll." )
@@ -300,8 +298,8 @@ pub fn std(build: &Build, compiler: &Compiler, target: &str) {
300
298
let src = build. sysroot ( compiler) . join ( "lib/rustlib" ) ;
301
299
cp_r ( & src. join ( target) , & dst) ;
302
300
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" )
305
303
. arg ( "--product-name=Rust" )
306
304
. arg ( "--rel-manifest-dir=rustlib" )
307
305
. arg ( "--success-message=std-is-standing-at-the-ready." )
@@ -356,8 +354,8 @@ pub fn analysis(build: &Build, compiler: &Compiler, target: &str) {
356
354
println ! ( "image_src: {:?}, dst: {:?}" , image_src, dst) ;
357
355
cp_r ( & image_src, & dst) ;
358
356
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" )
361
359
. arg ( "--product-name=Rust" )
362
360
. arg ( "--rel-manifest-dir=rustlib" )
363
361
. arg ( "--success-message=save-analysis-saved." )
@@ -521,8 +519,8 @@ pub fn rust_src(build: &Build) {
521
519
}
522
520
523
521
// 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" )
526
524
. arg ( "--product-name=Rust" )
527
525
. arg ( "--rel-manifest-dir=rustlib" )
528
526
. arg ( "--success-message=Awesome-Source." )
@@ -622,8 +620,8 @@ pub fn cargo(build: &Build, stage: u32, target: &str) {
622
620
t ! ( t!( File :: create( overlay. join( "version" ) ) ) . write_all( version. as_bytes( ) ) ) ;
623
621
624
622
// 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" )
627
625
. arg ( "--product-name=Rust" )
628
626
. arg ( "--rel-manifest-dir=rustlib" )
629
627
. arg ( "--success-message=Rust-is-ready-to-roll." )
@@ -671,8 +669,8 @@ pub fn rls(build: &Build, stage: u32, target: &str) {
671
669
t ! ( t!( File :: create( overlay. join( "version" ) ) ) . write_all( version. as_bytes( ) ) ) ;
672
670
673
671
// 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" )
676
674
. arg ( "--product-name=Rust" )
677
675
. arg ( "--rel-manifest-dir=rustlib" )
678
676
. arg ( "--success-message=RLS-ready-to-serve." )
@@ -742,8 +740,8 @@ pub fn extended(build: &Build, stage: u32, target: &str) {
742
740
input_tarballs. push_str ( & sanitize_sh ( & mingw_installer) ) ;
743
741
}
744
742
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" )
747
745
. arg ( "--product-name=Rust" )
748
746
. arg ( "--rel-manifest-dir=rustlib" )
749
747
. arg ( "--success-message=Rust-is-ready-to-roll." )
0 commit comments