Revert "Revert "Make cfzlib the default on platforms that support it""
This reverts commit ff0e3df948.
This commit is contained in:
parent
1322416ba4
commit
3b42f42491
6 changed files with 8 additions and 16 deletions
|
|
@ -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
|
||||||
|
|
|
||||||
|
|
@ -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",
|
||||||
|
|
|
||||||
|
|
@ -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.
|
||||||
|
|
|
||||||
|
|
@ -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.
|
||||||
|
|
|
||||||
|
|
@ -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"));
|
||||||
|
|
|
||||||
|
|
@ -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;
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue