Pass all extra args in rustc-clif before user supplied args
This allows the user to overwrite them and prevents confusing error messages if the last argument supplied expects a value.
This commit is contained in:
parent
a7c797909c
commit
c5be67ba36
2 changed files with 8 additions and 4 deletions
|
@ -15,16 +15,18 @@ fn main() {
|
||||||
env::consts::DLL_PREFIX.to_string() + "rustc_codegen_cranelift" + env::consts::DLL_SUFFIX,
|
env::consts::DLL_PREFIX.to_string() + "rustc_codegen_cranelift" + env::consts::DLL_SUFFIX,
|
||||||
);
|
);
|
||||||
|
|
||||||
let mut args = std::env::args_os().skip(1).collect::<Vec<_>>();
|
let passed_args = std::env::args_os().skip(1).collect::<Vec<_>>();
|
||||||
|
let mut args = vec![];
|
||||||
args.push(OsString::from("-Cpanic=abort"));
|
args.push(OsString::from("-Cpanic=abort"));
|
||||||
args.push(OsString::from("-Zpanic-abort-tests"));
|
args.push(OsString::from("-Zpanic-abort-tests"));
|
||||||
let mut codegen_backend_arg = OsString::from("-Zcodegen-backend=");
|
let mut codegen_backend_arg = OsString::from("-Zcodegen-backend=");
|
||||||
codegen_backend_arg.push(cg_clif_dylib_path);
|
codegen_backend_arg.push(cg_clif_dylib_path);
|
||||||
args.push(codegen_backend_arg);
|
args.push(codegen_backend_arg);
|
||||||
if !args.contains(&OsString::from("--sysroot")) {
|
if !passed_args.contains(&OsString::from("--sysroot")) {
|
||||||
args.push(OsString::from("--sysroot"));
|
args.push(OsString::from("--sysroot"));
|
||||||
args.push(OsString::from(sysroot.to_str().unwrap()));
|
args.push(OsString::from(sysroot.to_str().unwrap()));
|
||||||
}
|
}
|
||||||
|
args.extend(passed_args);
|
||||||
|
|
||||||
// Ensure that the right toolchain is used
|
// Ensure that the right toolchain is used
|
||||||
env::set_var("RUSTUP_TOOLCHAIN", env!("TOOLCHAIN_NAME"));
|
env::set_var("RUSTUP_TOOLCHAIN", env!("TOOLCHAIN_NAME"));
|
||||||
|
|
|
@ -15,16 +15,18 @@ fn main() {
|
||||||
env::consts::DLL_PREFIX.to_string() + "rustc_codegen_cranelift" + env::consts::DLL_SUFFIX,
|
env::consts::DLL_PREFIX.to_string() + "rustc_codegen_cranelift" + env::consts::DLL_SUFFIX,
|
||||||
);
|
);
|
||||||
|
|
||||||
let mut args = std::env::args_os().skip(1).collect::<Vec<_>>();
|
let passed_args = std::env::args_os().skip(1).collect::<Vec<_>>();
|
||||||
|
let mut args = vec![];
|
||||||
args.push(OsString::from("-Cpanic=abort"));
|
args.push(OsString::from("-Cpanic=abort"));
|
||||||
args.push(OsString::from("-Zpanic-abort-tests"));
|
args.push(OsString::from("-Zpanic-abort-tests"));
|
||||||
let mut codegen_backend_arg = OsString::from("-Zcodegen-backend=");
|
let mut codegen_backend_arg = OsString::from("-Zcodegen-backend=");
|
||||||
codegen_backend_arg.push(cg_clif_dylib_path);
|
codegen_backend_arg.push(cg_clif_dylib_path);
|
||||||
args.push(codegen_backend_arg);
|
args.push(codegen_backend_arg);
|
||||||
if !args.contains(&OsString::from("--sysroot")) {
|
if !passed_args.contains(&OsString::from("--sysroot")) {
|
||||||
args.push(OsString::from("--sysroot"));
|
args.push(OsString::from("--sysroot"));
|
||||||
args.push(OsString::from(sysroot.to_str().unwrap()));
|
args.push(OsString::from(sysroot.to_str().unwrap()));
|
||||||
}
|
}
|
||||||
|
args.extend(passed_args);
|
||||||
|
|
||||||
// Ensure that the right toolchain is used
|
// Ensure that the right toolchain is used
|
||||||
env::set_var("RUSTUP_TOOLCHAIN", env!("TOOLCHAIN_NAME"));
|
env::set_var("RUSTUP_TOOLCHAIN", env!("TOOLCHAIN_NAME"));
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue