Add/remove `rerun-if-changed` when necessary

This commit is contained in:
Vadim Petrochenkov 2017-02-23 18:49:54 +03:00
parent 83cbaf5e66
commit f2187093f8
13 changed files with 13 additions and 16 deletions

1
src/Cargo.lock generated
View File

@ -221,6 +221,7 @@ dependencies = [
name = "compiler_builtins"
version = "0.0.0"
dependencies = [
"build_helper 0.1.0",
"core 0.0.0",
"gcc 0.3.43 (registry+https://github.com/rust-lang/crates.io-index)",
]

View File

@ -21,8 +21,6 @@ use std::process::Command;
use build_helper::{run, rerun_if_changed_anything_in_dir, up_to_date};
fn main() {
println!("cargo:rerun-if-changed=build.rs");
// FIXME: This is a hack to support building targets that don't
// support jemalloc alongside hosts that do. The jemalloc build is
// controlled by a feature of the std crate, and if that feature

View File

@ -15,4 +15,5 @@ doc = false
core = { path = "../libcore" }
[build-dependencies]
build_helper = { path = "../build_helper" }
gcc = "0.3.27"

View File

@ -33,6 +33,7 @@
//! error (if any) and then we just add it to the list. Overall, that cost is
//! far far less than working with compiler-rt's build system over time.
extern crate build_helper;
extern crate gcc;
use std::collections::BTreeMap;
@ -404,5 +405,8 @@ fn main() {
cfg.file(Path::new("../compiler-rt/lib/builtins").join(src));
}
// Can't reuse `sources` list becuse it doesn't contain header files.
build_helper::rerun_if_changed_anything_in_dir(Path::new("../compiler-rt"));
cfg.compile("libcompiler-rt.a");
}

View File

@ -11,6 +11,7 @@
extern crate gcc;
fn main() {
println!("cargo:rerun-if-changed=../rt/miniz.c");
gcc::Config::new()
.file("../rt/miniz.c")
.compile("libminiz.a");

View File

@ -34,6 +34,4 @@ fn main() {
.unwrap())
.join("../compiler-rt"));
}
println!("cargo:rerun-if-changed=build.rs");
}

View File

@ -144,9 +144,7 @@ fn main() {
cfg.flag("-DLLVM_RUSTLLVM");
}
println!("cargo:rerun-if-changed=../rustllvm/PassWrapper.cpp");
println!("cargo:rerun-if-changed=../rustllvm/RustWrapper.cpp");
println!("cargo:rerun-if-changed=../rustllvm/ArchiveWrapper.cpp");
build_helper::rerun_if_changed_anything_in_dir(Path::new("../rustllvm"));
cfg.file("../rustllvm/PassWrapper.cpp")
.file("../rustllvm/RustWrapper.cpp")
.file("../rustllvm/ArchiveWrapper.cpp")

View File

@ -34,6 +34,4 @@ fn main() {
.unwrap())
.join("../compiler-rt"));
}
println!("cargo:rerun-if-changed=build.rs");
}

View File

@ -34,6 +34,4 @@ fn main() {
.unwrap())
.join("../compiler-rt"));
}
println!("cargo:rerun-if-changed=build.rs");
}

View File

@ -34,6 +34,4 @@ fn main() {
.unwrap())
.join("../compiler-rt"));
}
println!("cargo:rerun-if-changed=build.rs");
}

View File

@ -8,9 +8,12 @@
// option. This file may not be copied, modified, or distributed
// except according to those terms.
extern crate build_helper;
extern crate gcc;
fn main() {
let src_dir = std::path::Path::new("../rt/hoedown/src");
build_helper::rerun_if_changed_anything_in_dir(src_dir);
let mut cfg = gcc::Config::new();
cfg.file("../rt/hoedown/src/autolink.c")
.file("../rt/hoedown/src/buffer.c")
@ -21,6 +24,6 @@ fn main() {
.file("../rt/hoedown/src/html_smartypants.c")
.file("../rt/hoedown/src/stack.c")
.file("../rt/hoedown/src/version.c")
.include("../rt/hoedown/src")
.include(src_dir)
.compile("libhoedown.a");
}

View File

@ -21,8 +21,6 @@ use std::process::Command;
use build_helper::{run, rerun_if_changed_anything_in_dir, up_to_date};
fn main() {
println!("cargo:rerun-if-changed=build.rs");
let target = env::var("TARGET").expect("TARGET was not set");
let host = env::var("HOST").expect("HOST was not set");
if cfg!(feature = "backtrace") && !target.contains("apple") && !target.contains("msvc") &&

View File

@ -11,6 +11,7 @@
use std::env;
fn main() {
println!("cargo:rerun-if-changed=build.rs");
let target = env::var("TARGET").expect("TARGET was not set");
if target.contains("linux") {