Skip to content

Commit

Permalink
Add rustbuild option to use Ninja for LLVM build
Browse files Browse the repository at this point in the history
  • Loading branch information
caipre committed Apr 10, 2016
1 parent 526f2bf commit 3632278
Show file tree
Hide file tree
Showing 5 changed files with 12 additions and 3 deletions.
4 changes: 2 additions & 2 deletions src/bootstrap/Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion src/bootstrap/Cargo.toml
Expand Up @@ -21,7 +21,7 @@ path = "rustdoc.rs"

[dependencies]
build_helper = { path = "../build_helper" }
cmake = "0.1.10"
cmake = "0.1.17"
filetime = "0.1"
num_cpus = "0.2"
toml = "0.1"
Expand Down
3 changes: 3 additions & 0 deletions src/bootstrap/build/config.rs
Expand Up @@ -31,6 +31,7 @@ use toml::{Parser, Decoder, Value};
#[derive(Default)]
pub struct Config {
pub ccache: bool,
pub ninja: bool,
pub verbose: bool,
pub submodules: bool,
pub compiler_docs: bool,
Expand Down Expand Up @@ -107,6 +108,7 @@ struct Build {
#[derive(RustcDecodable, Default)]
struct Llvm {
ccache: Option<bool>,
ninja: Option<bool>,
assertions: Option<bool>,
optimize: Option<bool>,
version_check: Option<bool>,
Expand Down Expand Up @@ -200,6 +202,7 @@ impl Config {

if let Some(ref llvm) = toml.llvm {
set(&mut config.ccache, llvm.ccache);
set(&mut config.ninja, llvm.ninja);
set(&mut config.llvm_assertions, llvm.assertions);
set(&mut config.llvm_optimize, llvm.optimize);
set(&mut config.llvm_optimize, llvm.optimize);
Expand Down
3 changes: 3 additions & 0 deletions src/bootstrap/build/native.rs
Expand Up @@ -43,6 +43,9 @@ pub fn llvm(build: &Build, target: &str) {

// http://llvm.org/docs/CMake.html
let mut cfg = cmake::Config::new(build.src.join("src/llvm"));
if build.config.ninja {
cfg.generator("Ninja");
}
cfg.target(target)
.host(&build.config.build)
.out_dir(&dst)
Expand Down
3 changes: 3 additions & 0 deletions src/bootstrap/build/sanity.rs
Expand Up @@ -48,6 +48,9 @@ pub fn check(build: &mut Build) {
}
}
need_cmd("cmake".as_ref());
if build.config.ninja {
need_cmd("ninja".as_ref())
}
break
}

Expand Down

0 comments on commit 3632278

Please sign in to comment.