about summary refs log tree commit diff
path: root/src/libstd/build.rs
diff options
context:
space:
mode:
authorbors <bors@rust-lang.org>2018-12-24 23:28:04 +0000
committerbors <bors@rust-lang.org>2018-12-24 23:28:04 +0000
commitad781a065ac874e402e15927a22faa080e97fe94 (patch)
tree02bfc3c8e4878bbeed91c1cf1fb9ca352b2f6e73 /src/libstd/build.rs
parentf960f377fde2a01f64ec6f747725ce41147f46de (diff)
parent8d500572fa8f4110033fa3bc5e925831f6bbd18e (diff)
downloadrust-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.rs76
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(())
-}