• Home
  • History
  • Annotate
Name Date Size #Lines LOC

..03-May-2022-

.github/workflows/H03-May-2022-113103

ci/H03-May-2022-7050

src/H03-May-2022-104,66276,215

.cargo-checksum.jsonH A D03-May-202289 11

.cargo_vcs_info.jsonH A D01-Jan-197074 65

.gitignoreH A D01-Jan-197018 32

.gitmodulesH A D01-Jan-1970166 76

Cargo.tomlH A D01-Jan-19701.4 KiB4641

Cargo.toml.orig-cargoH A D01-Jan-19702.3 KiB6357

LICENSE-APACHEH A D01-Jan-197010.6 KiB202169

LICENSE-MITH A D01-Jan-19701.1 KiB2723

README.mdH A D01-Jan-19702.1 KiB5840

build.rsH A D01-Jan-19706.6 KiB217166

README.md

1# libz-sys
2
3A common library for linking `libz` to rust programs (also known as zlib).
4
5[Documentation](https://docs.rs/libz-sys)
6
7# High-level API
8
9This crate provides bindings to the raw low-level C API. For a higher-level
10safe API to work with DEFLATE, zlib, or gzip streams, see
11[`flate2`](https://docs.rs/flate2). `flate2` also supports alternative
12implementations, including slower but pure Rust implementations.
13
14# zlib-ng
15
16This crate supports building either the high-performance zlib-ng (in
17zlib-compat mode), or the widely available stock zlib.
18
19By default, `libz-sys` uses stock zlib, primarily because doing so allows the
20use of a shared system zlib library if available.
21
22Any application or library designed for zlib should work with zlib-ng in
23zlib-compat mode, as long as it doesn't make assumptions about the exact size
24or output of the deflated data (e.g. "compressing this data produces exactly
25this many bytes"), and as long as you don't also dynamically pull in a copy of
26stock zlib (which will produce conflicting symbols). Nonetheless, for maximum
27compatibility, every library crate in a build must opt into allowing zlib-ng;
28if any library crate in your dependency graph wants stock zlib, `libz-sys` will
29use stock zlib.
30
31Library crates depending on `libz-sys` should use:
32```
33libz-sys = { version = "1.1.0", default-features = false, features = ["libc"] }
34```
35(Omit the `libc` feature if you don't require the corresponding functions.)
36
37This allows higher-level crates depending on your library to opt into zlib-ng
38if desired.
39
40Building zlib-ng requires `cmake`.
41
42# License
43
44This project is licensed under either of
45
46 * Apache License, Version 2.0, ([LICENSE-APACHE](LICENSE-APACHE) or
47   http://www.apache.org/licenses/LICENSE-2.0)
48 * MIT license ([LICENSE-MIT](LICENSE-MIT) or
49   http://opensource.org/licenses/MIT)
50
51at your option.
52
53### Contribution
54
55Unless you explicitly state otherwise, any contribution intentionally submitted
56for inclusion in `libz-sys` by you, as defined in the Apache-2.0 license, shall be
57dual licensed as above, without any additional terms or conditions.
58