Skip to content

Commit 4159a18

Browse files
committed
don't unwrap in enzyme builds in case of missing llvm-config
1 parent 2398bd6 commit 4159a18

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
@@ -2072,19 +2072,20 @@ impl Step for Assemble {
20722072
if builder.config.llvm_enzyme && !builder.config.dry_run() {
20732073
debug!("`llvm_enzyme` requested");
20742074
let enzyme_install = builder.ensure(llvm::Enzyme { target: build_compiler.host });
2075-
let llvm_config = builder.llvm_config(builder.config.build).unwrap();
2076-
let llvm_version_major = llvm::get_llvm_version_major(builder, &llvm_config);
2077-
let lib_ext = std::env::consts::DLL_EXTENSION;
2078-
let libenzyme = format!("libEnzyme-{llvm_version_major}");
2079-
let src_lib =
2080-
enzyme_install.join("build/Enzyme").join(&libenzyme).with_extension(lib_ext);
2081-
let libdir = builder.sysroot_target_libdir(build_compiler, build_compiler.host);
2082-
let target_libdir =
2083-
builder.sysroot_target_libdir(target_compiler, target_compiler.host);
2084-
let dst_lib = libdir.join(&libenzyme).with_extension(lib_ext);
2085-
let target_dst_lib = target_libdir.join(&libenzyme).with_extension(lib_ext);
2086-
builder.copy_link(&src_lib, &dst_lib, FileType::NativeLibrary);
2087-
builder.copy_link(&src_lib, &target_dst_lib, FileType::NativeLibrary);
2075+
if let Some(llvm_config) = builder.llvm_config(builder.config.build) {
2076+
let llvm_version_major = llvm::get_llvm_version_major(builder, &llvm_config);
2077+
let lib_ext = std::env::consts::DLL_EXTENSION;
2078+
let libenzyme = format!("libEnzyme-{llvm_version_major}");
2079+
let src_lib =
2080+
enzyme_install.join("build/Enzyme").join(&libenzyme).with_extension(lib_ext);
2081+
let libdir = builder.sysroot_target_libdir(build_compiler, build_compiler.host);
2082+
let target_libdir =
2083+
builder.sysroot_target_libdir(target_compiler, target_compiler.host);
2084+
let dst_lib = libdir.join(&libenzyme).with_extension(lib_ext);
2085+
let target_dst_lib = target_libdir.join(&libenzyme).with_extension(lib_ext);
2086+
builder.copy_link(&src_lib, &dst_lib, FileType::NativeLibrary);
2087+
builder.copy_link(&src_lib, &target_dst_lib, FileType::NativeLibrary);
2088+
}
20882089
}
20892090

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

0 commit comments

Comments
 (0)