# THIS FILE IS AUTOMATICALLY GENERATED BY CARGO
#
# When uploading crates to the registry Cargo will automatically
# "normalize" Cargo.toml files for maximal compatibility
# with all versions of Cargo and also rewrite `path` dependencies
# to registry (e.g., crates.io) dependencies.
#
# If you are reading this file be aware that the original Cargo.toml
# will likely look very different (and much more reasonable).
# See Cargo.toml.orig for the original contents.

[package]
edition = "2018"
rust-version = "1.56.1"
name = "flate2"
version = "1.0.34"
authors = [
    "Alex Crichton <alex@alexcrichton.com>",
    "Josh Triplett <josh@joshtriplett.org>",
]
build = false
exclude = [".*"]
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = """
DEFLATE compression and decompression exposed as Read/BufRead/Write streams.
Supports miniz_oxide and multiple zlib implementations. Supports zlib, gzip,
and raw deflate streams.
"""
homepage = "https://github.com/rust-lang/flate2-rs"
documentation = "https://docs.rs/flate2"
readme = "README.md"
keywords = [
    "gzip",
    "deflate",
    "zlib",
    "zlib-ng",
    "encoding",
]
categories = [
    "compression",
    "api-bindings",
]
license = "MIT OR Apache-2.0"
repository = "https://github.com/rust-lang/flate2-rs"

[package.metadata.docs.rs]
all-features = true
rustdoc-args = [
    "--cfg",
    "docsrs",
]

[lib]
name = "flate2"
path = "src/lib.rs"

[[example]]
name = "compress_file"
path = "examples/compress_file.rs"

[[example]]
name = "decompress_file"
path = "examples/decompress_file.rs"

[[example]]
name = "deflatedecoder-bufread"
path = "examples/deflatedecoder-bufread.rs"

[[example]]
name = "deflatedecoder-read"
path = "examples/deflatedecoder-read.rs"

[[example]]
name = "deflatedecoder-write"
path = "examples/deflatedecoder-write.rs"

[[example]]
name = "deflateencoder-bufread"
path = "examples/deflateencoder-bufread.rs"

[[example]]
name = "deflateencoder-read"
path = "examples/deflateencoder-read.rs"

[[example]]
name = "deflateencoder-write"
path = "examples/deflateencoder-write.rs"

[[example]]
name = "gzbuilder"
path = "examples/gzbuilder.rs"

[[example]]
name = "gzdecoder-bufread"
path = "examples/gzdecoder-bufread.rs"

[[example]]
name = "gzdecoder-read"
path = "examples/gzdecoder-read.rs"

[[example]]
name = "gzdecoder-write"
path = "examples/gzdecoder-write.rs"

[[example]]
name = "gzencoder-bufread"
path = "examples/gzencoder-bufread.rs"

[[example]]
name = "gzencoder-read"
path = "examples/gzencoder-read.rs"

[[example]]
name = "gzencoder-write"
path = "examples/gzencoder-write.rs"

[[example]]
name = "gzmultidecoder-bufread"
path = "examples/gzmultidecoder-bufread.rs"

[[example]]
name = "gzmultidecoder-read"
path = "examples/gzmultidecoder-read.rs"

[[example]]
name = "zlibdecoder-bufread"
path = "examples/zlibdecoder-bufread.rs"

[[example]]
name = "zlibdecoder-read"
path = "examples/zlibdecoder-read.rs"

[[example]]
name = "zlibdecoder-write"
path = "examples/zlibdecoder-write.rs"

[[example]]
name = "zlibencoder-bufread"
path = "examples/zlibencoder-bufread.rs"

[[example]]
name = "zlibencoder-read"
path = "examples/zlibencoder-read.rs"

[[example]]
name = "zlibencoder-write"
path = "examples/zlibencoder-write.rs"

[[test]]
name = "early-flush"
path = "tests/early-flush.rs"

[[test]]
name = "empty-read"
path = "tests/empty-read.rs"

[[test]]
name = "gunzip"
path = "tests/gunzip.rs"

[[test]]
name = "zero-write"
path = "tests/zero-write.rs"

[dependencies.cloudflare-zlib-sys]
version = "0.3.0"
optional = true

[dependencies.crc32fast]
version = "1.2.0"

[dependencies.libz-ng-sys]
version = "1.1.16"
optional = true

[dependencies.libz-rs-sys]
version = "0.3.0"
features = [
    "std",
    "rust-allocator",
]
optional = true
default-features = false

[dependencies.libz-sys]
version = "1.1.20"
optional = true
default-features = false

[dependencies.miniz_oxide]
version = "0.8.0"
features = ["with-alloc"]
optional = true
default-features = false

[dev-dependencies.quickcheck]
version = "1.0"
default-features = false

[dev-dependencies.rand]
version = "0.8"

[features]
any_impl = []
any_zlib = ["any_impl"]
cloudflare_zlib = [
    "any_zlib",
    "cloudflare-zlib-sys",
]
default = ["rust_backend"]
miniz-sys = ["rust_backend"]
rust_backend = [
    "miniz_oxide",
    "any_impl",
]
zlib = [
    "any_zlib",
    "libz-sys",
]
zlib-default = [
    "any_zlib",
    "libz-sys/default",
]
zlib-ng = [
    "any_zlib",
    "libz-ng-sys",
]
zlib-ng-compat = [
    "zlib",
    "libz-sys/zlib-ng",
]
zlib-rs = [
    "any_zlib",
    "libz-rs-sys",
]

[target.'cfg(all(target_arch = "wasm32", not(target_os = "emscripten")))'.dependencies.miniz_oxide]
version = "0.8.0"
features = ["with-alloc"]
default-features = false
