Skip to content

Commit f1fea6c

Browse files
committed
don't unwrap in enzyme builds in case of missing llvm-config
1 parent 55d4364 commit f1fea6c

File tree

1 file changed

+14
-13
lines changed

1 file changed

+14
-13
lines changed

src/bootstrap/src/core/build_steps/compile.rs

Lines changed: 14 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -2105,19 +2105,20 @@ impl Step for Assemble {
21052105
if builder.config.llvm_enzyme && !builder.config.dry_run() {
21062106
debug!("`llvm_enzyme` requested");
21072107
let enzyme_install = builder.ensure(llvm::Enzyme { target: build_compiler.host });
2108-
let llvm_config = builder.llvm_config(builder.config.host_target).unwrap();
2109-
let llvm_version_major = llvm::get_llvm_version_major(builder, &llvm_config);
2110-
let lib_ext = std::env::consts::DLL_EXTENSION;
2111-
let libenzyme = format!("libEnzyme-{llvm_version_major}");
2112-
let src_lib =
2113-
enzyme_install.join("build/Enzyme").join(&libenzyme).with_extension(lib_ext);
2114-
let libdir = builder.sysroot_target_libdir(build_compiler, build_compiler.host);
2115-
let target_libdir =
2116-
builder.sysroot_target_libdir(target_compiler, target_compiler.host);
2117-
let dst_lib = libdir.join(&libenzyme).with_extension(lib_ext);
2118-
let target_dst_lib = target_libdir.join(&libenzyme).with_extension(lib_ext);
2119-
builder.copy_link(&src_lib, &dst_lib, FileType::NativeLibrary);
2120-
builder.copy_link(&src_lib, &target_dst_lib, FileType::NativeLibrary);
2108+
if let Some(llvm_config) = builder.llvm_config(builder.config.host_target) {
2109+
let llvm_version_major = llvm::get_llvm_version_major(builder, &llvm_config);
2110+
let lib_ext = std::env::consts::DLL_EXTENSION;
2111+
let libenzyme = format!("libEnzyme-{llvm_version_major}");
2112+
let src_lib =
2113+
enzyme_install.join("build/Enzyme").join(&libenzyme).with_extension(lib_ext);
2114+
let libdir = builder.sysroot_target_libdir(build_compiler, build_compiler.host);
2115+
let target_libdir =
2116+
builder.sysroot_target_libdir(target_compiler, target_compiler.host);
2117+
let dst_lib = libdir.join(&libenzyme).with_extension(lib_ext);
2118+
let target_dst_lib = target_libdir.join(&libenzyme).with_extension(lib_ext);
2119+
builder.copy_link(&src_lib, &dst_lib, FileType::NativeLibrary);
2120+
builder.copy_link(&src_lib, &target_dst_lib, FileType::NativeLibrary);
2121+
}
21212122
}
21222123

21232124
// Build the libraries for this compiler to link to (i.e., the libraries

0 commit comments

Comments
 (0)