diff options
| author | Jacob Pratt <jacob@jhpratt.dev> | 2025-06-17 23:19:37 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-06-17 23:19:37 +0200 |
| commit | 504b1a12f3a5e055f5b85425503124d05b263ef0 (patch) | |
| tree | 94c0ee5a27db9b2647257607721703fae7519cc7 | |
| parent | 0eb8a661303aefab11365f898d78ea3e30a38971 (diff) | |
| parent | f1fea6c950cc2680e06221096f361bb9092a815c (diff) | |
| download | rust-504b1a12f3a5e055f5b85425503124d05b263ef0.tar.gz rust-504b1a12f3a5e055f5b85425503124d05b263ef0.zip | |
Rollup merge of #142605 - ZuseZ4:autodiff-check-builds2, r=oli-obk
Don't unwrap in enzyme builds in case of missing llvm-config r? `@onur-ozkan` For some reason x.py was now panicking in this location, so I also removed the unwrap here. part 2 of https://github.com/rust-lang/rust/pull/140000, there shouldn't be other locations where we check for llvm-config.
| -rw-r--r-- | src/bootstrap/src/core/build_steps/compile.rs | 27 |
1 files changed, 14 insertions, 13 deletions
diff --git a/src/bootstrap/src/core/build_steps/compile.rs b/src/bootstrap/src/core/build_steps/compile.rs index 560925abba6..52f421b4782 100644 --- a/src/bootstrap/src/core/build_steps/compile.rs +++ b/src/bootstrap/src/core/build_steps/compile.rs @@ -2105,19 +2105,20 @@ impl Step for Assemble { if builder.config.llvm_enzyme && !builder.config.dry_run() { debug!("`llvm_enzyme` requested"); let enzyme_install = builder.ensure(llvm::Enzyme { target: build_compiler.host }); - let llvm_config = builder.llvm_config(builder.config.host_target).unwrap(); - let llvm_version_major = llvm::get_llvm_version_major(builder, &llvm_config); - let lib_ext = std::env::consts::DLL_EXTENSION; - let libenzyme = format!("libEnzyme-{llvm_version_major}"); - let src_lib = - enzyme_install.join("build/Enzyme").join(&libenzyme).with_extension(lib_ext); - let libdir = builder.sysroot_target_libdir(build_compiler, build_compiler.host); - let target_libdir = - builder.sysroot_target_libdir(target_compiler, target_compiler.host); - let dst_lib = libdir.join(&libenzyme).with_extension(lib_ext); - let target_dst_lib = target_libdir.join(&libenzyme).with_extension(lib_ext); - builder.copy_link(&src_lib, &dst_lib, FileType::NativeLibrary); - builder.copy_link(&src_lib, &target_dst_lib, FileType::NativeLibrary); + if let Some(llvm_config) = builder.llvm_config(builder.config.host_target) { + let llvm_version_major = llvm::get_llvm_version_major(builder, &llvm_config); + let lib_ext = std::env::consts::DLL_EXTENSION; + let libenzyme = format!("libEnzyme-{llvm_version_major}"); + let src_lib = + enzyme_install.join("build/Enzyme").join(&libenzyme).with_extension(lib_ext); + let libdir = builder.sysroot_target_libdir(build_compiler, build_compiler.host); + let target_libdir = + builder.sysroot_target_libdir(target_compiler, target_compiler.host); + let dst_lib = libdir.join(&libenzyme).with_extension(lib_ext); + let target_dst_lib = target_libdir.join(&libenzyme).with_extension(lib_ext); + builder.copy_link(&src_lib, &dst_lib, FileType::NativeLibrary); + builder.copy_link(&src_lib, &target_dst_lib, FileType::NativeLibrary); + } } // Build the libraries for this compiler to link to (i.e., the libraries |
