# 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 = "2021"
rust-version = "1.65"
name = "gix-features"
version = "0.38.1"
authors = ["Sebastian Thiel <sebastian.thiel@icloud.com>"]
include = [
    "src/**/*",
    "LICENSE-*",
]
description = "A crate to integrate various capabilities using compile-time feature flags"
license = "MIT OR Apache-2.0"
repository = "https://github.com/Byron/gitoxide"

[package.metadata.docs.rs]
all-features = true
features = ["document-features"]

[lib]
test = false
doctest = false

[[test]]
name = "hash"
path = "tests/hash.rs"
required-features = ["rustsha1"]

[[test]]
name = "parallel"
path = "tests/parallel_threaded.rs"
required-features = [
    "parallel",
    "rustsha1",
]

[[test]]
name = "multi-threaded"
path = "tests/parallel_shared_threaded.rs"
required-features = [
    "parallel",
    "rustsha1",
]

[[test]]
name = "single-threaded"
path = "tests/parallel_shared.rs"
required-features = ["rustsha1"]

[[test]]
name = "pipe"
path = "tests/pipe.rs"
required-features = ["io-pipe"]

[dependencies.bytes]
version = "1.0.0"
optional = true

[dependencies.bytesize]
version = "1.0.1"
optional = true

[dependencies.crc32fast]
version = "1.2.1"
optional = true

[dependencies.crossbeam-channel]
version = "0.5.0"
optional = true

[dependencies.document-features]
version = "0.2.0"
optional = true

[dependencies.flate2]
version = "1.0.25"
optional = true
default-features = false

[dependencies.gix-hash]
version = "^0.14.2"

[dependencies.gix-trace]
version = "^0.1.8"

[dependencies.gix-utils]
version = "^0.1.11"
optional = true

[dependencies.jwalk]
version = "0.8.1"
optional = true

[dependencies.once_cell]
version = "1.13.0"
optional = true

[dependencies.parking_lot]
version = "0.12.0"
optional = true
default-features = false

[dependencies.prodash]
version = "28.0.0"
optional = true
default-features = false

[dependencies.sha1]
version = "0.10.0"
optional = true

[dependencies.sha1_smol]
version = "1.0.0"
optional = true

[dependencies.thiserror]
version = "1.0.38"
optional = true

[dependencies.walkdir]
version = "2.3.2"
optional = true

[dev-dependencies.bstr]
version = "1.3.0"
default-features = false

[features]
cache-efficiency-debug = []
crc32 = ["dep:crc32fast"]
default = []
fast-sha1 = ["dep:sha1"]
fs-read-dir = ["dep:gix-utils"]
fs-walkdir-parallel = [
    "dep:jwalk",
    "dep:gix-utils",
]
io-pipe = ["dep:bytes"]
once_cell = ["dep:once_cell"]
parallel = [
    "dep:crossbeam-channel",
    "dep:parking_lot",
]
progress = ["prodash"]
progress-unit-bytes = [
    "dep:bytesize",
    "prodash?/unit-bytes",
]
progress-unit-human-numbers = ["prodash?/unit-human"]
rustsha1 = ["dep:sha1_smol"]
tracing = ["gix-trace/tracing"]
tracing-detail = ["gix-trace/tracing-detail"]
walkdir = [
    "dep:walkdir",
    "dep:gix-utils",
]
zlib = [
    "dep:flate2",
    "flate2?/rust_backend",
    "dep:thiserror",
]
zlib-ng = [
    "zlib",
    "flate2?/zlib-ng",
]
zlib-ng-compat = [
    "zlib",
    "flate2?/zlib-ng-compat",
]
zlib-rust-backend = [
    "zlib",
    "flate2?/rust_backend",
]
zlib-stock = [
    "zlib",
    "flate2?/zlib",
]

[target."cfg(all(any(target_arch = \"aarch64\", target_arch = \"x86\", target_arch = \"x86_64\"), not(target_env = \"msvc\")))".dependencies.sha1]
version = "0.10.0"
features = ["asm"]
optional = true

[target."cfg(unix)".dependencies.libc]
version = "0.2.119"
