fix build regressions
This commit is contained in:
parent
794c12416b
commit
fe90883ef7
2 changed files with 18 additions and 7 deletions
|
|
@ -242,6 +242,7 @@ mod llvm_enzyme {
|
|||
defaultness: ast::Defaultness::Final,
|
||||
sig: d_sig,
|
||||
generics: Generics::default(),
|
||||
contract: None,
|
||||
body: Some(d_body),
|
||||
});
|
||||
let mut rustc_ad_attr =
|
||||
|
|
|
|||
|
|
@ -1174,9 +1174,15 @@ pub fn rustc_cargo(
|
|||
// We want to link against registerEnzyme and in the future we want to use additional
|
||||
// functionality from Enzyme core. For that we need to link against Enzyme.
|
||||
if builder.config.llvm_enzyme {
|
||||
let llvm_config = builder.llvm_config(builder.config.build).unwrap();
|
||||
let llvm_version_major = llvm::get_llvm_version_major(builder, &llvm_config);
|
||||
cargo.rustflag("-l").rustflag(&format!("Enzyme-{llvm_version_major}"));
|
||||
let arch = builder.build.build;
|
||||
let enzyme_dir = builder.build.out.join(arch).join("enzyme").join("lib");
|
||||
cargo.rustflag("-L").rustflag(enzyme_dir.to_str().expect("Invalid path"));
|
||||
|
||||
if !builder.config.dry_run() {
|
||||
let llvm_config = builder.llvm_config(builder.config.build).unwrap();
|
||||
let llvm_version_major = llvm::get_llvm_version_major(builder, &llvm_config);
|
||||
cargo.rustflag("-l").rustflag(&format!("Enzyme-{llvm_version_major}"));
|
||||
}
|
||||
}
|
||||
|
||||
// Building with protected visibility reduces the number of dynamic relocations needed, giving
|
||||
|
|
@ -2028,16 +2034,20 @@ impl Step for Assemble {
|
|||
let mut build_compiler = builder.compiler(target_compiler.stage - 1, builder.config.build);
|
||||
|
||||
// Build enzyme
|
||||
if builder.config.llvm_enzyme {
|
||||
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.build).unwrap();
|
||||
let llvm_version_major = llvm::get_llvm_version_major(builder, &llvm_config);
|
||||
let lib_ext = std::env::consts::DLL_EXTENSION;
|
||||
let src_lib = enzyme_install.join("build/Enzyme/libEnzyme-19").with_extension(lib_ext);
|
||||
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-19").with_extension(lib_ext);
|
||||
let target_dst_lib = target_libdir.join("libEnzyme-19").with_extension(lib_ext);
|
||||
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);
|
||||
builder.copy_link(&src_lib, &target_dst_lib);
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue