Skip to content

Commit fe90883

Browse files
committed
fix build regressions
1 parent 794c124 commit fe90883

File tree

2 files changed

+18
-7
lines changed

2 files changed

+18
-7
lines changed

Diff for: compiler/rustc_builtin_macros/src/autodiff.rs

+1
Original file line numberDiff line numberDiff line change
@@ -242,6 +242,7 @@ mod llvm_enzyme {
242242
defaultness: ast::Defaultness::Final,
243243
sig: d_sig,
244244
generics: Generics::default(),
245+
contract: None,
245246
body: Some(d_body),
246247
});
247248
let mut rustc_ad_attr =

Diff for: src/bootstrap/src/core/build_steps/compile.rs

+17-7
Original file line numberDiff line numberDiff line change
@@ -1174,9 +1174,15 @@ pub fn rustc_cargo(
11741174
// We want to link against registerEnzyme and in the future we want to use additional
11751175
// functionality from Enzyme core. For that we need to link against Enzyme.
11761176
if builder.config.llvm_enzyme {
1177-
let llvm_config = builder.llvm_config(builder.config.build).unwrap();
1178-
let llvm_version_major = llvm::get_llvm_version_major(builder, &llvm_config);
1179-
cargo.rustflag("-l").rustflag(&format!("Enzyme-{llvm_version_major}"));
1177+
let arch = builder.build.build;
1178+
let enzyme_dir = builder.build.out.join(arch).join("enzyme").join("lib");
1179+
cargo.rustflag("-L").rustflag(enzyme_dir.to_str().expect("Invalid path"));
1180+
1181+
if !builder.config.dry_run() {
1182+
let llvm_config = builder.llvm_config(builder.config.build).unwrap();
1183+
let llvm_version_major = llvm::get_llvm_version_major(builder, &llvm_config);
1184+
cargo.rustflag("-l").rustflag(&format!("Enzyme-{llvm_version_major}"));
1185+
}
11801186
}
11811187

11821188
// Building with protected visibility reduces the number of dynamic relocations needed, giving
@@ -2028,16 +2034,20 @@ impl Step for Assemble {
20282034
let mut build_compiler = builder.compiler(target_compiler.stage - 1, builder.config.build);
20292035

20302036
// Build enzyme
2031-
if builder.config.llvm_enzyme {
2037+
if builder.config.llvm_enzyme && !builder.config.dry_run() {
20322038
debug!("`llvm_enzyme` requested");
20332039
let enzyme_install = builder.ensure(llvm::Enzyme { target: build_compiler.host });
2040+
let llvm_config = builder.llvm_config(builder.config.build).unwrap();
2041+
let llvm_version_major = llvm::get_llvm_version_major(builder, &llvm_config);
20342042
let lib_ext = std::env::consts::DLL_EXTENSION;
2035-
let src_lib = enzyme_install.join("build/Enzyme/libEnzyme-19").with_extension(lib_ext);
2043+
let libenzyme = format!("libEnzyme-{llvm_version_major}");
2044+
let src_lib =
2045+
enzyme_install.join("build/Enzyme").join(&libenzyme).with_extension(lib_ext);
20362046
let libdir = builder.sysroot_target_libdir(build_compiler, build_compiler.host);
20372047
let target_libdir =
20382048
builder.sysroot_target_libdir(target_compiler, target_compiler.host);
2039-
let dst_lib = libdir.join("libEnzyme-19").with_extension(lib_ext);
2040-
let target_dst_lib = target_libdir.join("libEnzyme-19").with_extension(lib_ext);
2049+
let dst_lib = libdir.join(&libenzyme).with_extension(lib_ext);
2050+
let target_dst_lib = target_libdir.join(&libenzyme).with_extension(lib_ext);
20412051
builder.copy_link(&src_lib, &dst_lib);
20422052
builder.copy_link(&src_lib, &target_dst_lib);
20432053
}

0 commit comments

Comments
 (0)