Update to the cc
crate
This is the name the `gcc` crate has moved to
This commit is contained in:
parent
041d3550f6
commit
7694ca419b
22 changed files with 66 additions and 57 deletions
20
src/Cargo.lock
generated
20
src/Cargo.lock
generated
|
@ -42,8 +42,8 @@ dependencies = [
|
||||||
"alloc 0.0.0",
|
"alloc 0.0.0",
|
||||||
"alloc_system 0.0.0",
|
"alloc_system 0.0.0",
|
||||||
"build_helper 0.1.0",
|
"build_helper 0.1.0",
|
||||||
|
"cc 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"core 0.0.0",
|
"core 0.0.0",
|
||||||
"gcc 0.3.54 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
||||||
"libc 0.0.0",
|
"libc 0.0.0",
|
||||||
]
|
]
|
||||||
|
|
||||||
|
@ -136,9 +136,9 @@ name = "bootstrap"
|
||||||
version = "0.0.0"
|
version = "0.0.0"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"build_helper 0.1.0",
|
"build_helper 0.1.0",
|
||||||
|
"cc 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"cmake 0.1.26 (registry+https://github.com/rust-lang/crates.io-index)",
|
"cmake 0.1.26 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"filetime 0.1.12 (registry+https://github.com/rust-lang/crates.io-index)",
|
"filetime 0.1.12 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"gcc 0.3.54 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
||||||
"getopts 0.2.15 (registry+https://github.com/rust-lang/crates.io-index)",
|
"getopts 0.2.15 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"lazy_static 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)",
|
"lazy_static 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"libc 0.2.31 (registry+https://github.com/rust-lang/crates.io-index)",
|
"libc 0.2.31 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
|
@ -1221,8 +1221,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
name = "profiler_builtins"
|
name = "profiler_builtins"
|
||||||
version = "0.0.0"
|
version = "0.0.0"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
|
"cc 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"core 0.0.0",
|
"core 0.0.0",
|
||||||
"gcc 0.3.54 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
|
@ -1628,7 +1628,7 @@ version = "0.0.0"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"bitflags 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
"bitflags 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"build_helper 0.1.0",
|
"build_helper 0.1.0",
|
||||||
"gcc 0.3.54 (registry+https://github.com/rust-lang/crates.io-index)",
|
"cc 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"rustc_cratesio_shim 0.0.0",
|
"rustc_cratesio_shim 0.0.0",
|
||||||
]
|
]
|
||||||
|
|
||||||
|
@ -1759,8 +1759,8 @@ name = "rustc_trans"
|
||||||
version = "0.0.0"
|
version = "0.0.0"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"bitflags 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
"bitflags 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
|
"cc 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"flate2 0.2.20 (registry+https://github.com/rust-lang/crates.io-index)",
|
"flate2 0.2.20 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"gcc 0.3.54 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
||||||
"jobserver 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
|
"jobserver 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"log 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)",
|
"log 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"num_cpus 1.6.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
"num_cpus 1.6.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
|
@ -1786,7 +1786,7 @@ name = "rustc_trans_utils"
|
||||||
version = "0.0.0"
|
version = "0.0.0"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"ar 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
"ar 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"flate2 0.2.19 (registry+https://github.com/rust-lang/crates.io-index)",
|
"flate2 0.2.20 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"log 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)",
|
"log 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"owning_ref 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)",
|
"owning_ref 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"rustc 0.0.0",
|
"rustc 0.0.0",
|
||||||
|
@ -1828,8 +1828,8 @@ name = "rustdoc"
|
||||||
version = "0.0.0"
|
version = "0.0.0"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"build_helper 0.1.0",
|
"build_helper 0.1.0",
|
||||||
|
"cc 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"env_logger 0.4.3 (registry+https://github.com/rust-lang/crates.io-index)",
|
"env_logger 0.4.3 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"gcc 0.3.54 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
||||||
"html-diff 0.0.4 (registry+https://github.com/rust-lang/crates.io-index)",
|
"html-diff 0.0.4 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"log 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)",
|
"log 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"pulldown-cmark 0.0.14 (registry+https://github.com/rust-lang/crates.io-index)",
|
"pulldown-cmark 0.0.14 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
|
@ -1998,10 +1998,10 @@ dependencies = [
|
||||||
"alloc_jemalloc 0.0.0",
|
"alloc_jemalloc 0.0.0",
|
||||||
"alloc_system 0.0.0",
|
"alloc_system 0.0.0",
|
||||||
"build_helper 0.1.0",
|
"build_helper 0.1.0",
|
||||||
|
"cc 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"collections 0.0.0",
|
"collections 0.0.0",
|
||||||
"compiler_builtins 0.0.0",
|
"compiler_builtins 0.0.0",
|
||||||
"core 0.0.0",
|
"core 0.0.0",
|
||||||
"gcc 0.3.54 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
||||||
"libc 0.0.0",
|
"libc 0.0.0",
|
||||||
"panic_abort 0.0.0",
|
"panic_abort 0.0.0",
|
||||||
"panic_unwind 0.0.0",
|
"panic_unwind 0.0.0",
|
||||||
|
@ -2320,6 +2320,10 @@ name = "unicode-xid"
|
||||||
version = "0.0.4"
|
version = "0.0.4"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "unicødë"
|
||||||
|
version = "0.1.0"
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "unreachable"
|
name = "unreachable"
|
||||||
version = "0.1.1"
|
version = "0.1.1"
|
||||||
|
|
|
@ -38,6 +38,7 @@ members = [
|
||||||
"tools/rls/test_data/infer_custom_bin",
|
"tools/rls/test_data/infer_custom_bin",
|
||||||
"tools/rls/test_data/infer_lib",
|
"tools/rls/test_data/infer_lib",
|
||||||
"tools/rls/test_data/omit_init_build",
|
"tools/rls/test_data/omit_init_build",
|
||||||
|
"tools/rls/test_data/unicødë",
|
||||||
"tools/rls/test_data/workspace_symbol",
|
"tools/rls/test_data/workspace_symbol",
|
||||||
]
|
]
|
||||||
|
|
||||||
|
|
|
@ -34,7 +34,7 @@ cmake = "0.1.23"
|
||||||
filetime = "0.1"
|
filetime = "0.1"
|
||||||
num_cpus = "1.0"
|
num_cpus = "1.0"
|
||||||
getopts = "0.2"
|
getopts = "0.2"
|
||||||
gcc = "0.3.54"
|
cc = "1.0"
|
||||||
libc = "0.2"
|
libc = "0.2"
|
||||||
serde = "1.0.8"
|
serde = "1.0.8"
|
||||||
serde_derive = "1.0.8"
|
serde_derive = "1.0.8"
|
||||||
|
|
|
@ -8,7 +8,7 @@
|
||||||
// option. This file may not be copied, modified, or distributed
|
// option. This file may not be copied, modified, or distributed
|
||||||
// except according to those terms.
|
// except according to those terms.
|
||||||
|
|
||||||
extern crate gcc;
|
extern crate cc;
|
||||||
|
|
||||||
use std::env;
|
use std::env;
|
||||||
use std::process::{self, Command};
|
use std::process::{self, Command};
|
||||||
|
@ -18,7 +18,7 @@ fn main() {
|
||||||
// Locate the actual compiler that we're invoking
|
// Locate the actual compiler that we're invoking
|
||||||
env::remove_var("CC");
|
env::remove_var("CC");
|
||||||
env::remove_var("CXX");
|
env::remove_var("CXX");
|
||||||
let mut cfg = gcc::Build::new();
|
let mut cfg = cc::Build::new();
|
||||||
cfg.cargo_metadata(false)
|
cfg.cargo_metadata(false)
|
||||||
.out_dir("/")
|
.out_dir("/")
|
||||||
.target(&target)
|
.target(&target)
|
||||||
|
|
|
@ -23,7 +23,7 @@
|
||||||
//! 6. "cc"
|
//! 6. "cc"
|
||||||
//!
|
//!
|
||||||
//! Some of this logic is implemented here, but much of it is farmed out to the
|
//! Some of this logic is implemented here, but much of it is farmed out to the
|
||||||
//! `gcc` crate itself, so we end up having the same fallbacks as there.
|
//! `cc` crate itself, so we end up having the same fallbacks as there.
|
||||||
//! Similar logic is then used to find a C++ compiler, just some s/cc/c++/ is
|
//! Similar logic is then used to find a C++ compiler, just some s/cc/c++/ is
|
||||||
//! used.
|
//! used.
|
||||||
//!
|
//!
|
||||||
|
@ -35,7 +35,7 @@ use std::process::Command;
|
||||||
use std::iter;
|
use std::iter;
|
||||||
|
|
||||||
use build_helper::{cc2ar, output};
|
use build_helper::{cc2ar, output};
|
||||||
use gcc;
|
use cc;
|
||||||
|
|
||||||
use Build;
|
use Build;
|
||||||
use config::Target;
|
use config::Target;
|
||||||
|
@ -45,7 +45,7 @@ pub fn find(build: &mut Build) {
|
||||||
// For all targets we're going to need a C compiler for building some shims
|
// For all targets we're going to need a C compiler for building some shims
|
||||||
// and such as well as for being a linker for Rust code.
|
// and such as well as for being a linker for Rust code.
|
||||||
for target in build.targets.iter().chain(&build.hosts).cloned().chain(iter::once(build.build)) {
|
for target in build.targets.iter().chain(&build.hosts).cloned().chain(iter::once(build.build)) {
|
||||||
let mut cfg = gcc::Build::new();
|
let mut cfg = cc::Build::new();
|
||||||
cfg.cargo_metadata(false).opt_level(0).warnings(false).debug(false)
|
cfg.cargo_metadata(false).opt_level(0).warnings(false).debug(false)
|
||||||
.target(&target).host(&build.build);
|
.target(&target).host(&build.build);
|
||||||
|
|
||||||
|
@ -67,7 +67,7 @@ pub fn find(build: &mut Build) {
|
||||||
|
|
||||||
// For all host triples we need to find a C++ compiler as well
|
// For all host triples we need to find a C++ compiler as well
|
||||||
for host in build.hosts.iter().cloned().chain(iter::once(build.build)) {
|
for host in build.hosts.iter().cloned().chain(iter::once(build.build)) {
|
||||||
let mut cfg = gcc::Build::new();
|
let mut cfg = cc::Build::new();
|
||||||
cfg.cargo_metadata(false).opt_level(0).warnings(false).debug(false).cpp(true)
|
cfg.cargo_metadata(false).opt_level(0).warnings(false).debug(false).cpp(true)
|
||||||
.target(&host).host(&build.build);
|
.target(&host).host(&build.build);
|
||||||
let config = build.config.target_config.get(&host);
|
let config = build.config.target_config.get(&host);
|
||||||
|
@ -82,7 +82,7 @@ pub fn find(build: &mut Build) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
fn set_compiler(cfg: &mut gcc::Build,
|
fn set_compiler(cfg: &mut cc::Build,
|
||||||
gnu_compiler: &str,
|
gnu_compiler: &str,
|
||||||
target: Interned<String>,
|
target: Interned<String>,
|
||||||
config: Option<&Target>,
|
config: Option<&Target>,
|
|
@ -126,7 +126,7 @@ extern crate lazy_static;
|
||||||
extern crate serde_json;
|
extern crate serde_json;
|
||||||
extern crate cmake;
|
extern crate cmake;
|
||||||
extern crate filetime;
|
extern crate filetime;
|
||||||
extern crate gcc;
|
extern crate cc;
|
||||||
extern crate getopts;
|
extern crate getopts;
|
||||||
extern crate num_cpus;
|
extern crate num_cpus;
|
||||||
extern crate toml;
|
extern crate toml;
|
||||||
|
@ -148,7 +148,7 @@ use build_helper::{run_silent, run_suppressed, try_run_silent, try_run_suppresse
|
||||||
|
|
||||||
use util::{exe, libdir, OutputFolder, CiEnv};
|
use util::{exe, libdir, OutputFolder, CiEnv};
|
||||||
|
|
||||||
mod cc;
|
mod cc_detect;
|
||||||
mod channel;
|
mod channel;
|
||||||
mod check;
|
mod check;
|
||||||
mod clean;
|
mod clean;
|
||||||
|
@ -241,9 +241,9 @@ pub struct Build {
|
||||||
|
|
||||||
// Runtime state filled in later on
|
// Runtime state filled in later on
|
||||||
// target -> (cc, ar)
|
// target -> (cc, ar)
|
||||||
cc: HashMap<Interned<String>, (gcc::Tool, Option<PathBuf>)>,
|
cc: HashMap<Interned<String>, (cc::Tool, Option<PathBuf>)>,
|
||||||
// host -> (cc, ar)
|
// host -> (cc, ar)
|
||||||
cxx: HashMap<Interned<String>, gcc::Tool>,
|
cxx: HashMap<Interned<String>, cc::Tool>,
|
||||||
crates: HashMap<Interned<String>, Crate>,
|
crates: HashMap<Interned<String>, Crate>,
|
||||||
is_sudo: bool,
|
is_sudo: bool,
|
||||||
ci_env: CiEnv,
|
ci_env: CiEnv,
|
||||||
|
@ -350,7 +350,7 @@ impl Build {
|
||||||
}
|
}
|
||||||
|
|
||||||
self.verbose("finding compilers");
|
self.verbose("finding compilers");
|
||||||
cc::find(self);
|
cc_detect::find(self);
|
||||||
self.verbose("running sanity check");
|
self.verbose("running sanity check");
|
||||||
sanity::check(self);
|
sanity::check(self);
|
||||||
// If local-rust is the same major.minor as the current version, then force a local-rebuild
|
// If local-rust is the same major.minor as the current version, then force a local-rebuild
|
||||||
|
@ -619,7 +619,7 @@ impl Build {
|
||||||
/// specified.
|
/// specified.
|
||||||
fn cflags(&self, target: Interned<String>) -> Vec<String> {
|
fn cflags(&self, target: Interned<String>) -> Vec<String> {
|
||||||
// Filter out -O and /O (the optimization flags) that we picked up from
|
// Filter out -O and /O (the optimization flags) that we picked up from
|
||||||
// gcc-rs because the build scripts will determine that for themselves.
|
// cc-rs because the build scripts will determine that for themselves.
|
||||||
let mut base = self.cc[&target].0.args().iter()
|
let mut base = self.cc[&target].0.args().iter()
|
||||||
.map(|s| s.to_string_lossy().into_owned())
|
.map(|s| s.to_string_lossy().into_owned())
|
||||||
.filter(|s| !s.starts_with("-O") && !s.starts_with("/O"))
|
.filter(|s| !s.starts_with("-O") && !s.starts_with("/O"))
|
||||||
|
|
|
@ -27,7 +27,7 @@ use std::process::Command;
|
||||||
|
|
||||||
use build_helper::output;
|
use build_helper::output;
|
||||||
use cmake;
|
use cmake;
|
||||||
use gcc;
|
use cc;
|
||||||
|
|
||||||
use Build;
|
use Build;
|
||||||
use util;
|
use util;
|
||||||
|
@ -289,7 +289,7 @@ impl Step for TestHelpers {
|
||||||
let _folder = build.fold_output(|| "build_test_helpers");
|
let _folder = build.fold_output(|| "build_test_helpers");
|
||||||
println!("Building test helpers");
|
println!("Building test helpers");
|
||||||
t!(fs::create_dir_all(&dst));
|
t!(fs::create_dir_all(&dst));
|
||||||
let mut cfg = gcc::Build::new();
|
let mut cfg = cc::Build::new();
|
||||||
|
|
||||||
// We may have found various cross-compilers a little differently due to our
|
// We may have found various cross-compilers a little differently due to our
|
||||||
// extra configuration, so inform gcc of these compilers. Note, though, that
|
// extra configuration, so inform gcc of these compilers. Note, though, that
|
||||||
|
|
|
@ -126,6 +126,10 @@ pub fn prepare_tool_cargo(
|
||||||
cargo.env("LIBZ_SYS_STATIC", "1");
|
cargo.env("LIBZ_SYS_STATIC", "1");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// if tools are using lzma we want to force the build script to build its
|
||||||
|
// own copy
|
||||||
|
cargo.env("LZMA_API_STATIC", "1");
|
||||||
|
|
||||||
cargo.env("CFG_RELEASE_CHANNEL", &build.config.channel);
|
cargo.env("CFG_RELEASE_CHANNEL", &build.config.channel);
|
||||||
cargo.env("CFG_VERSION", build.rust_version());
|
cargo.env("CFG_VERSION", build.rust_version());
|
||||||
|
|
||||||
|
|
|
@ -19,7 +19,7 @@ libc = { path = "../rustc/libc_shim" }
|
||||||
|
|
||||||
[build-dependencies]
|
[build-dependencies]
|
||||||
build_helper = { path = "../build_helper" }
|
build_helper = { path = "../build_helper" }
|
||||||
gcc = "0.3.50"
|
cc = "1.0"
|
||||||
|
|
||||||
[features]
|
[features]
|
||||||
debug = []
|
debug = []
|
||||||
|
|
|
@ -11,7 +11,7 @@
|
||||||
#![deny(warnings)]
|
#![deny(warnings)]
|
||||||
|
|
||||||
extern crate build_helper;
|
extern crate build_helper;
|
||||||
extern crate gcc;
|
extern crate cc;
|
||||||
|
|
||||||
use std::env;
|
use std::env;
|
||||||
use std::path::PathBuf;
|
use std::path::PathBuf;
|
||||||
|
@ -63,7 +63,7 @@ fn main() {
|
||||||
_ => return,
|
_ => return,
|
||||||
};
|
};
|
||||||
|
|
||||||
let compiler = gcc::Build::new().get_compiler();
|
let compiler = cc::Build::new().get_compiler();
|
||||||
// only msvc returns None for ar so unwrap is okay
|
// only msvc returns None for ar so unwrap is okay
|
||||||
let ar = build_helper::cc2ar(compiler.path(), &target).unwrap();
|
let ar = build_helper::cc2ar(compiler.path(), &target).unwrap();
|
||||||
let cflags = compiler.args()
|
let cflags = compiler.args()
|
||||||
|
@ -150,7 +150,7 @@ fn main() {
|
||||||
// sure the symbols are available.
|
// sure the symbols are available.
|
||||||
if target.contains("androideabi") {
|
if target.contains("androideabi") {
|
||||||
println!("cargo:rerun-if-changed=pthread_atfork_dummy.c");
|
println!("cargo:rerun-if-changed=pthread_atfork_dummy.c");
|
||||||
gcc::Build::new()
|
cc::Build::new()
|
||||||
.flag("-fvisibility=hidden")
|
.flag("-fvisibility=hidden")
|
||||||
.file("pthread_atfork_dummy.c")
|
.file("pthread_atfork_dummy.c")
|
||||||
.compile("libpthread_atfork_dummy.a");
|
.compile("libpthread_atfork_dummy.a");
|
||||||
|
|
|
@ -15,4 +15,4 @@ doc = false
|
||||||
core = { path = "../libcore" }
|
core = { path = "../libcore" }
|
||||||
|
|
||||||
[build-dependencies]
|
[build-dependencies]
|
||||||
gcc = "0.3.50"
|
cc = "1.0"
|
||||||
|
|
|
@ -12,14 +12,14 @@
|
||||||
//!
|
//!
|
||||||
//! See the build.rs for libcompiler_builtins crate for details.
|
//! See the build.rs for libcompiler_builtins crate for details.
|
||||||
|
|
||||||
extern crate gcc;
|
extern crate cc;
|
||||||
|
|
||||||
use std::env;
|
use std::env;
|
||||||
use std::path::Path;
|
use std::path::Path;
|
||||||
|
|
||||||
fn main() {
|
fn main() {
|
||||||
let target = env::var("TARGET").expect("TARGET was not set");
|
let target = env::var("TARGET").expect("TARGET was not set");
|
||||||
let cfg = &mut gcc::Build::new();
|
let cfg = &mut cc::Build::new();
|
||||||
|
|
||||||
let mut profile_sources = vec!["GCDAProfiling.c",
|
let mut profile_sources = vec!["GCDAProfiling.c",
|
||||||
"InstrProfiling.c",
|
"InstrProfiling.c",
|
||||||
|
|
|
@ -1373,20 +1373,20 @@ pub fn rustc_optgroups() -> Vec<RustcOptGroup> {
|
||||||
always = always colorize output;
|
always = always colorize output;
|
||||||
never = never colorize output", "auto|always|never"),
|
never = never colorize output", "auto|always|never"),
|
||||||
|
|
||||||
opt::flagopt("", "pretty",
|
opt::opt("", "pretty",
|
||||||
"Pretty-print the input instead of compiling;
|
"Pretty-print the input instead of compiling;
|
||||||
valid types are: `normal` (un-annotated source),
|
valid types are: `normal` (un-annotated source),
|
||||||
`expanded` (crates expanded), or
|
`expanded` (crates expanded), or
|
||||||
`expanded,identified` (fully parenthesized, AST nodes with IDs).",
|
`expanded,identified` (fully parenthesized, AST nodes with IDs).",
|
||||||
"TYPE"),
|
"TYPE"),
|
||||||
opt::flagopt("", "unpretty",
|
opt::opt("", "unpretty",
|
||||||
"Present the input source, unstable (and less-pretty) variants;
|
"Present the input source, unstable (and less-pretty) variants;
|
||||||
valid types are any of the types for `--pretty`, as well as:
|
valid types are any of the types for `--pretty`, as well as:
|
||||||
`flowgraph=<nodeid>` (graphviz formatted flowgraph for node),
|
`flowgraph=<nodeid>` (graphviz formatted flowgraph for node),
|
||||||
`everybody_loops` (all function bodies replaced with `loop {}`),
|
`everybody_loops` (all function bodies replaced with `loop {}`),
|
||||||
`hir` (the HIR), `hir,identified`, or
|
`hir` (the HIR), `hir,identified`, or
|
||||||
`hir,typed` (HIR with types for each node).",
|
`hir,typed` (HIR with types for each node).",
|
||||||
"TYPE"),
|
"TYPE"),
|
||||||
]);
|
]);
|
||||||
opts
|
opts
|
||||||
}
|
}
|
||||||
|
|
|
@ -18,4 +18,4 @@ rustc_cratesio_shim = { path = "../librustc_cratesio_shim" }
|
||||||
|
|
||||||
[build-dependencies]
|
[build-dependencies]
|
||||||
build_helper = { path = "../build_helper" }
|
build_helper = { path = "../build_helper" }
|
||||||
gcc = "0.3.50"
|
cc = "1.0"
|
||||||
|
|
|
@ -8,7 +8,7 @@
|
||||||
// option. This file may not be copied, modified, or distributed
|
// option. This file may not be copied, modified, or distributed
|
||||||
// except according to those terms.
|
// except according to those terms.
|
||||||
|
|
||||||
extern crate gcc;
|
extern crate cc;
|
||||||
extern crate build_helper;
|
extern crate build_helper;
|
||||||
|
|
||||||
use std::process::Command;
|
use std::process::Command;
|
||||||
|
@ -136,7 +136,7 @@ fn main() {
|
||||||
let mut cmd = Command::new(&llvm_config);
|
let mut cmd = Command::new(&llvm_config);
|
||||||
cmd.arg("--cxxflags");
|
cmd.arg("--cxxflags");
|
||||||
let cxxflags = output(&mut cmd);
|
let cxxflags = output(&mut cmd);
|
||||||
let mut cfg = gcc::Build::new();
|
let mut cfg = cc::Build::new();
|
||||||
cfg.warnings(false);
|
cfg.warnings(false);
|
||||||
for flag in cxxflags.split_whitespace() {
|
for flag in cxxflags.split_whitespace() {
|
||||||
// Ignore flags like `-m64` when we're doing a cross build
|
// Ignore flags like `-m64` when we're doing a cross build
|
||||||
|
|
|
@ -32,4 +32,4 @@ syntax = { path = "../libsyntax" }
|
||||||
syntax_pos = { path = "../libsyntax_pos" }
|
syntax_pos = { path = "../libsyntax_pos" }
|
||||||
|
|
||||||
[target."cfg(windows)".dependencies]
|
[target."cfg(windows)".dependencies]
|
||||||
gcc = "0.3.50"
|
cc = "1.0"
|
||||||
|
|
|
@ -125,7 +125,7 @@ pub fn get_linker(sess: &Session) -> (String, Command, Vec<(OsString, OsString)>
|
||||||
|
|
||||||
#[cfg(windows)]
|
#[cfg(windows)]
|
||||||
pub fn msvc_link_exe_cmd(sess: &Session) -> (Command, Vec<(OsString, OsString)>) {
|
pub fn msvc_link_exe_cmd(sess: &Session) -> (Command, Vec<(OsString, OsString)>) {
|
||||||
use gcc::windows_registry;
|
use cc::windows_registry;
|
||||||
|
|
||||||
let target = &sess.opts.target_triple;
|
let target = &sess.opts.target_triple;
|
||||||
let tool = windows_registry::find_tool(target, "link.exe");
|
let tool = windows_registry::find_tool(target, "link.exe");
|
||||||
|
|
|
@ -61,7 +61,7 @@ extern crate syntax_pos;
|
||||||
extern crate rustc_errors as errors;
|
extern crate rustc_errors as errors;
|
||||||
extern crate serialize;
|
extern crate serialize;
|
||||||
#[cfg(windows)]
|
#[cfg(windows)]
|
||||||
extern crate gcc; // Used to locate MSVC, not gcc :)
|
extern crate cc; // Used to locate MSVC
|
||||||
|
|
||||||
pub use base::trans_crate;
|
pub use base::trans_crate;
|
||||||
|
|
||||||
|
|
|
@ -18,4 +18,4 @@ html-diff = "0.0.4"
|
||||||
|
|
||||||
[build-dependencies]
|
[build-dependencies]
|
||||||
build_helper = { path = "../build_helper" }
|
build_helper = { path = "../build_helper" }
|
||||||
gcc = "0.3.50"
|
cc = "1.0"
|
||||||
|
|
|
@ -9,12 +9,12 @@
|
||||||
// except according to those terms.
|
// except according to those terms.
|
||||||
|
|
||||||
extern crate build_helper;
|
extern crate build_helper;
|
||||||
extern crate gcc;
|
extern crate cc;
|
||||||
|
|
||||||
fn main() {
|
fn main() {
|
||||||
let src_dir = std::path::Path::new("../rt/hoedown/src");
|
let src_dir = std::path::Path::new("../rt/hoedown/src");
|
||||||
build_helper::rerun_if_changed_anything_in_dir(src_dir);
|
build_helper::rerun_if_changed_anything_in_dir(src_dir);
|
||||||
let mut cfg = gcc::Build::new();
|
let mut cfg = cc::Build::new();
|
||||||
cfg.file("../rt/hoedown/src/autolink.c")
|
cfg.file("../rt/hoedown/src/autolink.c")
|
||||||
.file("../rt/hoedown/src/buffer.c")
|
.file("../rt/hoedown/src/buffer.c")
|
||||||
.file("../rt/hoedown/src/document.c")
|
.file("../rt/hoedown/src/document.c")
|
||||||
|
|
|
@ -36,7 +36,7 @@ rustc_tsan = { path = "../librustc_tsan" }
|
||||||
|
|
||||||
[build-dependencies]
|
[build-dependencies]
|
||||||
build_helper = { path = "../build_helper" }
|
build_helper = { path = "../build_helper" }
|
||||||
gcc = "0.3.50"
|
cc = "1.0"
|
||||||
|
|
||||||
[features]
|
[features]
|
||||||
backtrace = []
|
backtrace = []
|
||||||
|
|
|
@ -11,7 +11,7 @@
|
||||||
#![deny(warnings)]
|
#![deny(warnings)]
|
||||||
|
|
||||||
extern crate build_helper;
|
extern crate build_helper;
|
||||||
extern crate gcc;
|
extern crate cc;
|
||||||
|
|
||||||
use std::env;
|
use std::env;
|
||||||
use std::process::Command;
|
use std::process::Command;
|
||||||
|
@ -77,7 +77,7 @@ fn main() {
|
||||||
fn build_libbacktrace(host: &str, target: &str) -> Result<(), ()> {
|
fn build_libbacktrace(host: &str, target: &str) -> Result<(), ()> {
|
||||||
let native = native_lib_boilerplate("libbacktrace", "libbacktrace", "backtrace", ".libs")?;
|
let native = native_lib_boilerplate("libbacktrace", "libbacktrace", "backtrace", ".libs")?;
|
||||||
|
|
||||||
let compiler = gcc::Build::new().get_compiler();
|
let compiler = cc::Build::new().get_compiler();
|
||||||
// only msvc returns None for ar so unwrap is okay
|
// only msvc returns None for ar so unwrap is okay
|
||||||
let ar = build_helper::cc2ar(compiler.path(), target).unwrap();
|
let ar = build_helper::cc2ar(compiler.path(), target).unwrap();
|
||||||
let mut cflags = compiler.args().iter().map(|s| s.to_str().unwrap())
|
let mut cflags = compiler.args().iter().map(|s| s.to_str().unwrap())
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue