mirror of
https://github.com/rust-lang/rust.git
synced 2024-11-25 08:13:41 +00:00
config: add the option to enable LLVM tests
I'm working on some LLVM patches in concert with a Rust patch, and it's helping me quite a bit to have this as an option. It doesn't seem that hard, so I figured I'd formalize it in x.py and send it upstream.
This commit is contained in:
parent
5dab47dcd8
commit
f2a234e63c
@ -68,6 +68,12 @@ changelog-seen = 2
|
||||
# Indicates whether the LLVM assertions are enabled or not
|
||||
#assertions = false
|
||||
|
||||
# Indicates whether the LLVM testsuite is enabled in the build or not. Does
|
||||
# not execute the tests as part of the build as part of x.py build et al,
|
||||
# just makes it possible to do `ninja check-llvm` in the staged LLVM build
|
||||
# directory when doing LLVM development as part of Rust development.
|
||||
#tests = false
|
||||
|
||||
# Indicates whether the LLVM plugin is enabled or not
|
||||
#plugins = false
|
||||
|
||||
|
@ -90,6 +90,7 @@ pub struct Config {
|
||||
// llvm codegen options
|
||||
pub llvm_skip_rebuild: bool,
|
||||
pub llvm_assertions: bool,
|
||||
pub llvm_tests: bool,
|
||||
pub llvm_plugins: bool,
|
||||
pub llvm_optimize: bool,
|
||||
pub llvm_thin_lto: bool,
|
||||
@ -422,6 +423,7 @@ struct Llvm {
|
||||
thin_lto: Option<bool>,
|
||||
release_debuginfo: Option<bool>,
|
||||
assertions: Option<bool>,
|
||||
tests: Option<bool>,
|
||||
plugins: Option<bool>,
|
||||
ccache: Option<StringOrBool>,
|
||||
version_check: Option<bool>,
|
||||
@ -715,6 +717,7 @@ impl Config {
|
||||
// Store off these values as options because if they're not provided
|
||||
// we'll infer default values for them later
|
||||
let mut llvm_assertions = None;
|
||||
let mut llvm_tests = None;
|
||||
let mut llvm_plugins = None;
|
||||
let mut debug = None;
|
||||
let mut debug_assertions = None;
|
||||
@ -740,6 +743,7 @@ impl Config {
|
||||
}
|
||||
set(&mut config.ninja_in_file, llvm.ninja);
|
||||
llvm_assertions = llvm.assertions;
|
||||
llvm_tests = llvm.tests;
|
||||
llvm_plugins = llvm.plugins;
|
||||
llvm_skip_rebuild = llvm_skip_rebuild.or(llvm.skip_rebuild);
|
||||
set(&mut config.llvm_optimize, llvm.optimize);
|
||||
@ -991,6 +995,7 @@ impl Config {
|
||||
|
||||
config.llvm_skip_rebuild = llvm_skip_rebuild.unwrap_or(false);
|
||||
config.llvm_assertions = llvm_assertions.unwrap_or(false);
|
||||
config.llvm_tests = llvm_tests.unwrap_or(false);
|
||||
config.llvm_plugins = llvm_plugins.unwrap_or(false);
|
||||
config.rust_optimize = optimize.unwrap_or(true);
|
||||
|
||||
|
@ -170,6 +170,7 @@ impl Step for Llvm {
|
||||
|
||||
let assertions = if builder.config.llvm_assertions { "ON" } else { "OFF" };
|
||||
let plugins = if builder.config.llvm_plugins { "ON" } else { "OFF" };
|
||||
let enable_tests = if builder.config.llvm_tests { "ON" } else { "OFF" };
|
||||
|
||||
cfg.out_dir(&out_dir)
|
||||
.profile(profile)
|
||||
@ -180,7 +181,7 @@ impl Step for Llvm {
|
||||
.define("LLVM_INCLUDE_EXAMPLES", "OFF")
|
||||
.define("LLVM_INCLUDE_DOCS", "OFF")
|
||||
.define("LLVM_INCLUDE_BENCHMARKS", "OFF")
|
||||
.define("LLVM_INCLUDE_TESTS", "OFF")
|
||||
.define("LLVM_INCLUDE_TESTS", enable_tests)
|
||||
.define("LLVM_ENABLE_TERMINFO", "OFF")
|
||||
.define("LLVM_ENABLE_LIBEDIT", "OFF")
|
||||
.define("LLVM_ENABLE_BINDINGS", "OFF")
|
||||
|
Loading…
Reference in New Issue
Block a user