diff options
| author | Ed Schouten <ed@nuxi.nl> | 2018-01-18 21:09:34 +0100 |
|---|---|---|
| committer | Ed Schouten <ed@nuxi.nl> | 2018-01-18 21:11:24 +0100 |
| commit | 66d53ca9e540eb564ab9ac3420a13ceac7a77a65 (patch) | |
| tree | 6dc5632c8e0a23823c66645668302b2cb69d59fb /src/liballoc_jemalloc | |
| parent | 3bd4af88bea2e6ecdd3455ed89b3ef1fc3500aa4 (diff) | |
| download | rust-66d53ca9e540eb564ab9ac3420a13ceac7a77a65.tar.gz rust-66d53ca9e540eb564ab9ac3420a13ceac7a77a65.zip | |
Make liballoc_jemalloc work on CloudABI.
The automated builds for CloudABI in dist-various-2 don't use --disable-jemalloc, even though my original container image did. Instead of setting that flag, let's go the extra mile of making jemalloc work. CloudABI's C library already uses jemalloc and now exposes the API extensions used by us.
Diffstat (limited to 'src/liballoc_jemalloc')
| -rw-r--r-- | src/liballoc_jemalloc/build.rs | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/src/liballoc_jemalloc/build.rs b/src/liballoc_jemalloc/build.rs index 440c9fbf2f6..0aa46dc6d20 100644 --- a/src/liballoc_jemalloc/build.rs +++ b/src/liballoc_jemalloc/build.rs @@ -29,13 +29,20 @@ fn main() { // for targets like emscripten, even if we don't use it. let target = env::var("TARGET").expect("TARGET was not set"); let host = env::var("HOST").expect("HOST was not set"); - if target.contains("bitrig") || target.contains("cloudabi") || target.contains("emscripten") || - target.contains("fuchsia") || target.contains("msvc") || target.contains("openbsd") || - target.contains("redox") || target.contains("rumprun") || target.contains("wasm32") { + if target.contains("bitrig") || target.contains("emscripten") || target.contains("fuchsia") || + target.contains("msvc") || target.contains("openbsd") || target.contains("redox") || + target.contains("rumprun") || target.contains("wasm32") { println!("cargo:rustc-cfg=dummy_jemalloc"); return; } + // CloudABI ships with a copy of jemalloc that has been patched to + // work well with sandboxing. Don't attempt to build our own copy, + // as it won't build. + if target.contains("cloudabi") { + return; + } + if target.contains("android") { println!("cargo:rustc-link-lib=gcc"); } else if !target.contains("windows") && !target.contains("musl") { |
