summaryrefslogtreecommitdiffstats
path: root/compiler/rustc_codegen_cranelift/scripts/rustdoc-clif.rs
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-05-30 03:57:31 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-05-30 03:57:31 +0000
commitdc0db358abe19481e475e10c32149b53370f1a1c (patch)
treeab8ce99c4b255ce46f99ef402c27916055b899ee /compiler/rustc_codegen_cranelift/scripts/rustdoc-clif.rs
parentReleasing progress-linux version 1.71.1+dfsg1-2~progress7.99u1. (diff)
downloadrustc-dc0db358abe19481e475e10c32149b53370f1a1c.tar.xz
rustc-dc0db358abe19481e475e10c32149b53370f1a1c.zip
Merging upstream version 1.72.1+dfsg1.
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'compiler/rustc_codegen_cranelift/scripts/rustdoc-clif.rs')
-rw-r--r--compiler/rustc_codegen_cranelift/scripts/rustdoc-clif.rs27
1 files changed, 19 insertions, 8 deletions
diff --git a/compiler/rustc_codegen_cranelift/scripts/rustdoc-clif.rs b/compiler/rustc_codegen_cranelift/scripts/rustdoc-clif.rs
index 545844446..10582cc7b 100644
--- a/compiler/rustc_codegen_cranelift/scripts/rustdoc-clif.rs
+++ b/compiler/rustc_codegen_cranelift/scripts/rustdoc-clif.rs
@@ -19,23 +19,34 @@ fn main() {
let mut args = vec![];
args.push(OsString::from("-Cpanic=abort"));
args.push(OsString::from("-Zpanic-abort-tests"));
- let mut codegen_backend_arg = OsString::from("-Zcodegen-backend=");
- codegen_backend_arg.push(cg_clif_dylib_path);
- args.push(codegen_backend_arg);
- if !passed_args.contains(&OsString::from("--sysroot")) {
+ if let Some(name) = option_env!("BUILTIN_BACKEND") {
+ args.push(OsString::from(format!("-Zcodegen-backend={name}")))
+ } else {
+ let mut codegen_backend_arg = OsString::from("-Zcodegen-backend=");
+ codegen_backend_arg.push(cg_clif_dylib_path);
+ args.push(codegen_backend_arg);
+ }
+ if !passed_args.iter().any(|arg| {
+ arg == "--sysroot" || arg.to_str().map(|s| s.starts_with("--sysroot=")) == Some(true)
+ }) {
args.push(OsString::from("--sysroot"));
args.push(OsString::from(sysroot.to_str().unwrap()));
}
args.extend(passed_args);
- // Ensure that the right toolchain is used
- env::set_var("RUSTUP_TOOLCHAIN", env!("TOOLCHAIN_NAME"));
+ let rustdoc = if let Some(rustdoc) = option_env!("RUSTDOC") {
+ rustdoc
+ } else {
+ // Ensure that the right toolchain is used
+ env::set_var("RUSTUP_TOOLCHAIN", option_env!("TOOLCHAIN_NAME").expect("TOOLCHAIN_NAME"));
+ "rustdoc"
+ };
#[cfg(unix)]
- panic!("Failed to spawn rustdoc: {}", Command::new("rustdoc").args(args).exec());
+ panic!("Failed to spawn rustdoc: {}", Command::new(rustdoc).args(args).exec());
#[cfg(not(unix))]
std::process::exit(
- Command::new("rustdoc").args(args).spawn().unwrap().wait().unwrap().code().unwrap_or(1),
+ Command::new(rustdoc).args(args).spawn().unwrap().wait().unwrap().code().unwrap_or(1),
);
}