diff options
| author | Alex Crichton <alex@alexcrichton.com> | 2016-01-21 15:36:25 -0800 |
|---|---|---|
| committer | Alex Crichton <alex@alexcrichton.com> | 2016-02-11 11:12:32 -0800 |
| commit | eac0a8bc3070e45047fff57e7b024a059289a36d (patch) | |
| tree | cbcaa9dc371f2b11fe2e9b9d3ee7a3f7a9cfdb8e /src/libflate | |
| parent | 4da4970767ae8fc2e3b6d0c280312bb0f4efeed6 (diff) | |
| download | rust-eac0a8bc3070e45047fff57e7b024a059289a36d.tar.gz rust-eac0a8bc3070e45047fff57e7b024a059289a36d.zip | |
bootstrap: Add directives to not double-link libs
Have all Cargo-built crates pass `--cfg cargobuild` and then add appropriate `#[cfg]` definitions to all crates to avoid linking anything if this is passed. This should help allow libstd to compile with both the makefiles and with Cargo.
Diffstat (limited to 'src/libflate')
| -rw-r--r-- | src/libflate/build.rs | 1 | ||||
| -rw-r--r-- | src/libflate/lib.rs | 5 |
2 files changed, 5 insertions, 1 deletions
diff --git a/src/libflate/build.rs b/src/libflate/build.rs index 12016980a2c..245c705dfcc 100644 --- a/src/libflate/build.rs +++ b/src/libflate/build.rs @@ -11,6 +11,7 @@ extern crate gcc; fn main() { + println!("cargo:rustc-cfg=cargobuild"); gcc::Config::new() .file("../rt/miniz.c") .compile("libminiz.a"); diff --git a/src/libflate/lib.rs b/src/libflate/lib.rs index f316250d96d..a6bf735e459 100644 --- a/src/libflate/lib.rs +++ b/src/libflate/lib.rs @@ -79,7 +79,10 @@ impl Drop for Bytes { } #[link(name = "miniz", kind = "static")] -extern "C" { +#[cfg(not(cargobuild))] +extern {} + +extern { /// Raw miniz compression function. fn tdefl_compress_mem_to_heap(psrc_buf: *const c_void, src_buf_len: size_t, |
