[package]
name = "flacenc"
version = "0.5.1"
authors = ["Yotaro Kubo <yotaro@ieee.org>"]
description = "Pure rust library for embedding FLAC encoder in your application."
documentation = "https://docs.rs/flacenc/latest/flacenc"
readme = "README.md"
license = "Apache-2.0"
edition = "2021"
keywords = ["flac", "lossless", "encoder", "audio"]
categories = ["compression", "multimedia::audio", "multimedia::encoding"]
repository = "https://github.com/yotarok/flacenc-rs/"

exclude = [
  "bench_runner",
  "how_to_make_a_release.md",
  "pytools",
  "report",
  "Makefile.toml",
]

# This is for enabling use of profilers with a release build.
[profile.release]
debug = 1

[features]
default = ["log", "par", "serde"]

__export_sigen = ["dep:rand"]
decode = ["dep:nom"]
experimental = ["dep:nalgebra"]
log = ["dep:log"]
mimalloc = ["dep:mimalloc"]
par = ["dep:crossbeam-channel"]
serde = ["dep:serde", "heapless/serde"]
simd-nightly = []

[dependencies]
crc = "3.2"
crossbeam-channel = { version = "0.5.15", optional = true }
heapless = "0.8.0"
md-5 = "0.10.6"
log = { version = "0.4", optional = true }
mimalloc = { version = "0.1.39", default-features = false, optional = true }
nalgebra = { version = "0.32", optional = true }
num-traits = "0.2"
rand = { version = "0.8.5", optional = true }
rustversion = "1.0"
seq-macro = "0.3"
serde = { version = "1.0", features = ["derive"], optional = true }
nom = { version = "7", optional = true }

[dev-dependencies]
claxon = "0.4.3"
hound = "3.5.0"
nom = "7"
once_cell = "1.10.0"
rand = { version = "0.8.5", features = ["std_rng"] }
rstest = "0.22"
tempfile = "3"
toml = "0.5"

[build-dependencies]
built = "0.7.7"
