File tree Expand file tree Collapse file tree 5 files changed +19
-6
lines changed Expand file tree Collapse file tree 5 files changed +19
-6
lines changed Original file line number Diff line number Diff line change @@ -46,13 +46,15 @@ pub(crate) fn build_sysroot(
46
46
let wrapper_name = wrapper_base_name. replace ( "____" , wrapper) ;
47
47
48
48
let mut build_cargo_wrapper_cmd = Command :: new ( & bootstrap_host_compiler. rustc ) ;
49
+ let wrapper_path = DIST_DIR . to_path ( dirs) . join ( & wrapper_name) ;
49
50
build_cargo_wrapper_cmd
50
51
. env ( "TOOLCHAIN_NAME" , toolchain_name. clone ( ) )
51
52
. arg ( RelPath :: SCRIPTS . to_path ( dirs) . join ( & format ! ( "{wrapper}.rs" ) ) )
52
53
. arg ( "-o" )
53
- . arg ( DIST_DIR . to_path ( dirs ) . join ( wrapper_name ) )
54
+ . arg ( & wrapper_path )
54
55
. arg ( "-Cstrip=debuginfo" ) ;
55
56
spawn_and_wait ( build_cargo_wrapper_cmd) ;
57
+ try_hard_link ( wrapper_path, BIN_DIR . to_path ( dirs) . join ( wrapper_name) ) ;
56
58
}
57
59
58
60
let host = build_sysroot_for_triple (
Original file line number Diff line number Diff line change @@ -5,7 +5,11 @@ use std::path::PathBuf;
5
5
use std:: process:: Command ;
6
6
7
7
fn main ( ) {
8
- let sysroot = PathBuf :: from ( env:: current_exe ( ) . unwrap ( ) . parent ( ) . unwrap ( ) ) ;
8
+ let current_exe = env:: current_exe ( ) . unwrap ( ) ;
9
+ let mut sysroot = current_exe. parent ( ) . unwrap ( ) ;
10
+ if sysroot. file_name ( ) . unwrap ( ) . to_str ( ) . unwrap ( ) == "bin" {
11
+ sysroot = sysroot. parent ( ) . unwrap ( ) ;
12
+ }
9
13
10
14
let mut rustflags = String :: new ( ) ;
11
15
rustflags. push_str ( " -Cpanic=abort -Zpanic-abort-tests -Zcodegen-backend=" ) ;
Original file line number Diff line number Diff line change @@ -2,11 +2,14 @@ use std::env;
2
2
use std:: ffi:: OsString ;
3
3
#[ cfg( unix) ]
4
4
use std:: os:: unix:: process:: CommandExt ;
5
- use std:: path:: PathBuf ;
6
5
use std:: process:: Command ;
7
6
8
7
fn main ( ) {
9
- let sysroot = PathBuf :: from ( env:: current_exe ( ) . unwrap ( ) . parent ( ) . unwrap ( ) ) ;
8
+ let current_exe = env:: current_exe ( ) . unwrap ( ) ;
9
+ let mut sysroot = current_exe. parent ( ) . unwrap ( ) ;
10
+ if sysroot. file_name ( ) . unwrap ( ) . to_str ( ) . unwrap ( ) == "bin" {
11
+ sysroot = sysroot. parent ( ) . unwrap ( ) ;
12
+ }
10
13
11
14
let cg_clif_dylib_path = sysroot. join ( if cfg ! ( windows) { "bin" } else { "lib" } ) . join (
12
15
env:: consts:: DLL_PREFIX . to_string ( ) + "rustc_codegen_cranelift" + env:: consts:: DLL_SUFFIX ,
Original file line number Diff line number Diff line change @@ -6,7 +6,11 @@ use std::path::PathBuf;
6
6
use std:: process:: Command ;
7
7
8
8
fn main ( ) {
9
- let sysroot = PathBuf :: from ( env:: current_exe ( ) . unwrap ( ) . parent ( ) . unwrap ( ) ) ;
9
+ let current_exe = env:: current_exe ( ) . unwrap ( ) ;
10
+ let mut sysroot = current_exe. parent ( ) . unwrap ( ) ;
11
+ if sysroot. file_name ( ) . unwrap ( ) . to_str ( ) . unwrap ( ) == "bin" {
12
+ sysroot = sysroot. parent ( ) . unwrap ( ) ;
13
+ }
10
14
11
15
let cg_clif_dylib_path = sysroot. join ( if cfg ! ( windows) { "bin" } else { "lib" } ) . join (
12
16
env:: consts:: DLL_PREFIX . to_string ( ) + "rustc_codegen_cranelift" + env:: consts:: DLL_SUFFIX ,
Original file line number Diff line number Diff line change @@ -36,7 +36,7 @@ changelog-seen = 2
36
36
ninja = false
37
37
38
38
[build]
39
- rustc = "$( pwd) /../dist/rustc-clif"
39
+ rustc = "$( pwd) /../dist/bin/ rustc-clif"
40
40
cargo = "$( rustup which cargo) "
41
41
full-bootstrap = true
42
42
local-rebuild = true
You can’t perform that action at this time.
0 commit comments