# 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"
name = "flate2"
version = "1.0.31"
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.8"
optional = true

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

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

[dependencies.miniz_oxide]
version = "0.7.1"
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.7.1"
features = ["with-alloc"]
default-features = false
