# 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 = "zstd-safe"
version = "5.0.2+zstd.1.5.2"
authors = ["Alexandre Bury <alexandre.bury@gmail.com>"]
build = "build.rs"
description = "Safe low-level bindings for the zstd compression library."
readme = "Readme.md"
keywords = [
    "zstd",
    "zstandard",
    "compression",
]
categories = [
    "api-bindings",
    "compression",
]
license = "MIT/Apache-2.0"
repository = "https://github.com/gyscos/zstd-rs"

[package.metadata.docs.rs]
features = [
    "experimental",
    "arrays",
    "std",
    "zdict_builder",
    "doc-cfg",
]

[dependencies.libc]
version = "0.2.21"

[dependencies.zstd-sys]
version = "2.0.1"
default-features = false

[features]
arrays = []
bindgen = ["zstd-sys/bindgen"]
debug = ["zstd-sys/debug"]
default = [
    "legacy",
    "arrays",
    "zdict_builder",
]
doc-cfg = []
experimental = ["zstd-sys/experimental"]
legacy = ["zstd-sys/legacy"]
no_asm = ["zstd-sys/no_asm"]
pkg-config = ["zstd-sys/pkg-config"]
std = ["zstd-sys/std"]
thin = ["zstd-sys/thin"]
zdict_builder = ["zstd-sys/zdict_builder"]
zstdmt = ["zstd-sys/zstdmt"]
