Skip to content

Commit

Permalink
Require LLVM_CONFIG to be set in rustc_llvm/build.rs
Browse files Browse the repository at this point in the history
This environment variable should always be set by bootstrap in
`rustc_llvm_env`. The fallback is quite ugly and complicated, so
removing it is nice.
  • Loading branch information
Noratrieb committed Mar 31, 2024
1 parent a8cfc83 commit d651bae
Showing 1 changed file with 2 additions and 20 deletions.
22 changes: 2 additions & 20 deletions compiler/rustc_llvm/build.rs
Original file line number Diff line number Diff line change
Expand Up @@ -112,28 +112,10 @@ fn main() {

restore_library_path();

let target = env::var("TARGET").expect("TARGET was not set");
let llvm_config =
tracked_env_var_os("LLVM_CONFIG").map(|x| Some(PathBuf::from(x))).unwrap_or_else(|| {
if let Some(dir) = tracked_env_var_os("CARGO_TARGET_DIR").map(PathBuf::from) {
let to_test = dir
.parent()
.unwrap()
.parent()
.unwrap()
.join(&target)
.join("llvm/bin/llvm-config");
if Command::new(&to_test).output().is_ok() {
return Some(to_test);
}
}
None
});
PathBuf::from(tracked_env_var_os("LLVM_CONFIG").expect("LLVM_CONFIG was not set"));

if let Some(llvm_config) = &llvm_config {
println!("cargo:rerun-if-changed={}", llvm_config.display());
}
let llvm_config = llvm_config.unwrap_or_else(|| PathBuf::from("llvm-config"));
println!("cargo:rerun-if-changed={}", llvm_config.display());

// Test whether we're cross-compiling LLVM. This is a pretty rare case
// currently where we're producing an LLVM for a different platform than
Expand Down

0 comments on commit d651bae

Please sign in to comment.