Print warning if LLVM CMake directory does not exist

This commit is contained in:
Jakub Beránek 2025-12-16 20:40:29 +01:00
parent 6847bd0fac
commit 7463b15044
No known key found for this signature in database
GPG key ID: 909CD0D26483516B

View file

@ -925,7 +925,7 @@ impl Step for Enzyme {
}
let target = self.target;
let LlvmResult { host_llvm_config, .. } = builder.ensure(Llvm { target: self.target });
let LlvmResult { host_llvm_config, llvm_cmake_dir } = builder.ensure(Llvm { target });
static STAMP_HASH_MEMO: OnceLock<String> = OnceLock::new();
let smart_stamp_hash = STAMP_HASH_MEMO.get_or_init(|| {
@ -955,15 +955,20 @@ impl Step for Enzyme {
return out_dir;
}
if !builder.config.dry_run() && !llvm_cmake_dir.is_dir() {
builder.info(&format!(
"WARNING: {} does not exist, Enzyme build will likely fail",
llvm_cmake_dir.display()
));
}
trace!(?target, "(re)building enzyme artifacts");
builder.info(&format!("Building Enzyme for {target}"));
t!(stamp.remove());
let _time = helpers::timeit(builder);
t!(fs::create_dir_all(&out_dir));
builder
.config
.update_submodule(Path::new("src").join("tools").join("enzyme").to_str().unwrap());
builder.config.update_submodule("src/tools/enzyme");
let mut cfg = cmake::Config::new(builder.src.join("src/tools/enzyme/enzyme/"));
configure_cmake(builder, target, &mut cfg, true, LdFlags::default(), &[]);
@ -983,7 +988,7 @@ impl Step for Enzyme {
.define("LLVM_ENABLE_ASSERTIONS", "ON")
.define("ENZYME_EXTERNAL_SHARED_LIB", "ON")
.define("ENZYME_BC_LOADER", "OFF")
.define("LLVM_DIR", builder.llvm_out(target));
.define("LLVM_DIR", llvm_cmake_dir);
cfg.build();