Fix incorrect NDEBUG handling in LLVM bindings
We currently compile our LLVM bindings using `-DNDEBUG` if debuginfo for LLVM is disabled. However, `NDEBUG` doesn't have any relation to debuginfo, it controls whether assertions are enabled. Rename the environment variable to `LLVM_ASSERTIONS` and drive it using the `llvm_assertions` option. Also drop the explicit `debug(false)` call, as cc already sets this up using the cargo `DEBUG` environment variable.
This commit is contained in:
parent
0fdfb61795
commit
776b0adaaf
@ -197,9 +197,8 @@ fn main() {
|
|||||||
cfg.define("LLVM_RUSTLLVM", None);
|
cfg.define("LLVM_RUSTLLVM", None);
|
||||||
}
|
}
|
||||||
|
|
||||||
if tracked_env_var_os("LLVM_NDEBUG").is_some() {
|
if tracked_env_var_os("LLVM_ASSERTIONS").is_none() {
|
||||||
cfg.define("NDEBUG", None);
|
cfg.define("NDEBUG", None);
|
||||||
cfg.debug(false);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
rerun_if_changed_anything_in_dir(Path::new("llvm-wrapper"));
|
rerun_if_changed_anything_in_dir(Path::new("llvm-wrapper"));
|
||||||
|
@ -1213,8 +1213,8 @@ fn rustc_llvm_env(builder: &Builder<'_>, cargo: &mut Cargo, target: TargetSelect
|
|||||||
if builder.config.llvm_use_libcxx {
|
if builder.config.llvm_use_libcxx {
|
||||||
cargo.env("LLVM_USE_LIBCXX", "1");
|
cargo.env("LLVM_USE_LIBCXX", "1");
|
||||||
}
|
}
|
||||||
if builder.config.llvm_optimize && !builder.config.llvm_release_debuginfo {
|
if builder.config.llvm_assertions {
|
||||||
cargo.env("LLVM_NDEBUG", "1");
|
cargo.env("LLVM_ASSERTIONS", "1");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user