Revert "Revert "Make cfzlib the default on platforms that support it""

This reverts commit ff0e3df948.
This commit is contained in:
Josh Holmer 2018-08-04 23:08:30 -04:00
parent 1322416ba4
commit 3b42f42491
6 changed files with 8 additions and 16 deletions

View file

@ -11,7 +11,7 @@ matrix:
env: TARGET=x86_64-apple-darwin env: TARGET=x86_64-apple-darwin
cache: cargo cache: cargo
- os: linux - os: linux
rust: 1.24.0 rust: 1.27.0
env: TARGET=x86_64-unknown-linux-gnu env: TARGET=x86_64-unknown-linux-gnu
cache: cargo cache: cargo
- os: linux - os: linux

View file

@ -48,7 +48,6 @@ optional = true
version = "1.0.1" version = "1.0.1"
[dependencies.cloudflare-zlib-sys] [dependencies.cloudflare-zlib-sys]
optional = true
version = "^0.1.2" version = "^0.1.2"
[dependencies.image] [dependencies.image]
@ -63,11 +62,10 @@ binary = [
] ]
default = ["binary", "parallel"] default = ["binary", "parallel"]
parallel = ["rayon"] parallel = ["rayon"]
cfzlib = ["cloudflare-zlib-sys"]
dev = [ dev = [
"nightly-binary", "nightly-binary",
] ]
nightly = ["cfzlib"] nightly = []
nightly-binary = [ nightly-binary = [
"binary", "binary",
"nightly", "nightly",

View file

@ -26,7 +26,7 @@ cargo build --release
cp target/release/oxipng /usr/local/bin cp target/release/oxipng /usr/local/bin
``` ```
The current minimum supported Rust version is **1.24.0**. Oxipng may compile on earlier versions of Rust, The current minimum supported Rust version is **1.27.0**. Oxipng may compile on earlier versions of Rust,
but there is no guarantee. but there is no guarantee.
Oxipng follows Semantic Versioning. Oxipng follows Semantic Versioning.

View file

@ -26,7 +26,7 @@ cargo build --release
cp target/release/oxipng /usr/local/bin cp target/release/oxipng /usr/local/bin
``` ```
The current minimum supported Rust version is **1.24.0**. Oxipng may compile on earlier versions of Rust, The current minimum supported Rust version is **1.27.0**. Oxipng may compile on earlier versions of Rust,
but there is no guarantee. but there is no guarantee.
Oxipng follows Semantic Versioning. Oxipng follows Semantic Versioning.

View file

@ -16,17 +16,13 @@ pub fn inflate(data: &[u8]) -> PngResult<Vec<u8>> {
/// Compress a data stream using the DEFLATE algorithm /// Compress a data stream using the DEFLATE algorithm
pub fn deflate(data: &[u8], zc: u8, zs: u8, zw: u8, max_size: &AtomicMin) -> PngResult<Vec<u8>> { pub fn deflate(data: &[u8], zc: u8, zs: u8, zw: u8, max_size: &AtomicMin) -> PngResult<Vec<u8>> {
#[cfg(feature = "cfzlib")] if is_cfzlib_supported() {
{ return cfzlib_deflate(data, zc, zs, zw, max_size);
if is_cfzlib_supported() {
return cfzlib_deflate(data, zc, zs, zw, max_size);
}
} }
miniz_stream::compress_to_vec_oxipng(data, zc, zw.into(), zs.into(), max_size) miniz_stream::compress_to_vec_oxipng(data, zc, zw.into(), zs.into(), max_size)
} }
#[cfg(feature = "cfzlib")]
fn is_cfzlib_supported() -> bool { fn is_cfzlib_supported() -> bool {
#[cfg(target_arch = "x86_64")] #[cfg(target_arch = "x86_64")]
{ {
@ -43,7 +39,6 @@ fn is_cfzlib_supported() -> bool {
false false
} }
#[cfg(feature = "cfzlib")]
pub fn cfzlib_deflate( pub fn cfzlib_deflate(
data: &[u8], data: &[u8],
level: u8, level: u8,
@ -84,11 +79,11 @@ pub fn cfzlib_deflate(
Z_OK | Z_BUF_ERROR => { Z_OK | Z_BUF_ERROR => {
deflateEnd(&mut stream); deflateEnd(&mut stream);
return Err(PngError::DeflatedDataTooLong(stream.total_out as usize)); return Err(PngError::DeflatedDataTooLong(stream.total_out as usize));
}, }
_ => { _ => {
deflateEnd(&mut stream); deflateEnd(&mut stream);
return Err(PngError::new("deflate")); return Err(PngError::new("deflate"));
}, }
} }
if Z_OK != deflateEnd(&mut stream) { if Z_OK != deflateEnd(&mut stream) {
return Err(PngError::new("deflateEnd")); return Err(PngError::new("deflateEnd"));

View file

@ -1,6 +1,5 @@
extern crate bit_vec; extern crate bit_vec;
extern crate byteorder; extern crate byteorder;
#[cfg(feature = "cfzlib")]
extern crate cloudflare_zlib_sys; extern crate cloudflare_zlib_sys;
extern crate crc; extern crate crc;
extern crate image; extern crate image;