diff options
| author | bors <bors@rust-lang.org> | 2018-12-24 23:28:04 +0000 |
|---|---|---|
| committer | bors <bors@rust-lang.org> | 2018-12-24 23:28:04 +0000 |
| commit | ad781a065ac874e402e15927a22faa080e97fe94 (patch) | |
| tree | 02bfc3c8e4878bbeed91c1cf1fb9ca352b2f6e73 /src/libstd/build.rs | |
| parent | f960f377fde2a01f64ec6f747725ce41147f46de (diff) | |
| parent | 8d500572fa8f4110033fa3bc5e925831f6bbd18e (diff) | |
| download | rust-ad781a065ac874e402e15927a22faa080e97fe94.tar.gz rust-ad781a065ac874e402e15927a22faa080e97fe94.zip | |
Auto merge of #56836 - alexcrichton:std-backtrace-sys, r=Mark-Simulacrum
std: Use backtrace-sys from crates.io This commit switches the standard library to using the `backtrace-sys` crate from crates.io instead of duplicating the logic here in the Rust repositor with the `backtrace-sys`'s crate's logic. Eventually this will hopefully be a good step towards using the `backtrace` crate directly from crates.io itself, but we're not quite there yet! Hopefully this is a small incremental first step we can take.
Diffstat (limited to 'src/libstd/build.rs')
| -rw-r--r-- | src/libstd/build.rs | 76 |
1 files changed, 0 insertions, 76 deletions
diff --git a/src/libstd/build.rs b/src/libstd/build.rs index 7143de55c88..69bd0e41504 100644 --- a/src/libstd/build.rs +++ b/src/libstd/build.rs @@ -10,24 +10,12 @@ #![deny(warnings)] -extern crate build_helper; extern crate cc; -use build_helper::native_lib_boilerplate; use std::env; -use std::fs::File; fn main() { let target = env::var("TARGET").expect("TARGET was not set"); - if cfg!(feature = "backtrace") && - !target.contains("cloudabi") && - !target.contains("emscripten") && - !target.contains("msvc") && - !target.contains("wasm32") - { - let _ = build_libbacktrace(&target); - } - if target.contains("linux") { if target.contains("android") { println!("cargo:rustc-link-lib=dl"); @@ -79,67 +67,3 @@ fn main() { println!("cargo:rustc-link-lib=compiler_rt"); } } - -fn build_libbacktrace(target: &str) -> Result<(), ()> { - let native = native_lib_boilerplate( - "../libbacktrace".as_ref(), - "libbacktrace", - "backtrace", - "", - )?; - - let mut build = cc::Build::new(); - build - .flag("-fvisibility=hidden") - .include("../libbacktrace") - .include(&native.out_dir) - .out_dir(&native.out_dir) - .warnings(false) - .file("../libbacktrace/alloc.c") - .file("../libbacktrace/backtrace.c") - .file("../libbacktrace/dwarf.c") - .file("../libbacktrace/fileline.c") - .file("../libbacktrace/posix.c") - .file("../libbacktrace/read.c") - .file("../libbacktrace/sort.c") - .file("../libbacktrace/state.c"); - - let any_debug = env::var("RUSTC_DEBUGINFO").unwrap_or_default() == "true" || - env::var("RUSTC_DEBUGINFO_LINES").unwrap_or_default() == "true"; - build.debug(any_debug); - - if target.contains("darwin") { - build.file("../libbacktrace/macho.c"); - } else if target.contains("windows") { - build.file("../libbacktrace/pecoff.c"); - } else { - build.file("../libbacktrace/elf.c"); - - let pointer_width = env::var("CARGO_CFG_TARGET_POINTER_WIDTH").unwrap(); - if pointer_width == "64" { - build.define("BACKTRACE_ELF_SIZE", "64"); - } else { - build.define("BACKTRACE_ELF_SIZE", "32"); - } - } - - File::create(native.out_dir.join("backtrace-supported.h")).unwrap(); - build.define("BACKTRACE_SUPPORTED", "1"); - build.define("BACKTRACE_USES_MALLOC", "1"); - build.define("BACKTRACE_SUPPORTS_THREADS", "0"); - build.define("BACKTRACE_SUPPORTS_DATA", "0"); - - File::create(native.out_dir.join("config.h")).unwrap(); - if !target.contains("apple-ios") && - !target.contains("solaris") && - !target.contains("redox") && - !target.contains("android") && - !target.contains("haiku") { - build.define("HAVE_DL_ITERATE_PHDR", "1"); - } - build.define("_GNU_SOURCE", "1"); - build.define("_LARGE_FILES", "1"); - - build.compile("backtrace"); - Ok(()) -} |
