[package]
name = "blst"
version = "0.3.12"
authors = ["sean-sn <sean@supranational.net>"]
edition = "2018"
license = "Apache-2.0"
description = "Bindings for blst BLS12-381 library"
repository = "https://github.com/supranational/blst"
readme = "README.md"
categories = ["cryptography"]
keywords = ["crypto", "bls", "signature", "asm", "wasm"]
include = [
    "**/*.rs",
    "/Cargo.toml",
    "/README.md",
    "/rustfmt.toml",
    "/blst/src/*.c",
    "/blst/src/*.h*",
    "/blst/build/**",
    "/blst/bindings/blst.h",
    "/blst/bindings/blst_aux.h",
    "/blst/bindings/blst.hpp",
]
links = "blst"

[features]
# By default, compile with ADX extension if the host supports it.
# Binary can be executed on systems similar to the host.
default = []
# Compile in portable mode, without ISA extensions.
# Binary can be executed on all systems.
portable = []
# Enable ADX even if the host CPU doesn't support it.
# Binary can be executed on Broadwell+ and Ryzen+ systems.
force-adx = []
# Suppress multi-threading.
# Engaged on wasm32 target architecture automatically.
no-threads = []
# Add support for serializing SecretKey, not suitable for production.
serde-secret = ["serde"]

[build-dependencies]
cc = "1.0"
[target.'cfg(target_env = "msvc")'.build-dependencies]
glob = "0.3"

[dependencies]
zeroize = { version = "^1.1", features = ["zeroize_derive"] }
serde = { version = "1.0.152", optional = true }

[target.'cfg(not(any(target_arch="wasm32", target_os="none", target_os="unknown", target_os="uefi")))'.dependencies]
threadpool = "^1.8.1"

[dev-dependencies]
rand = "0.8"
rand_chacha = "0.3"
rmp-serde = "1.1.1"
# Uncomment if you want to execute the test suite with Rust 1.56 through 1.64.
#csv = "=1.1.6"
#byteorder = "=1.4.3"
#regex = "=1.7.3"
#rayon = "=1.6.1"
#rayon-core = "=1.10.1"

[target.'cfg(any(unix, windows))'.dev-dependencies]
criterion = "0.3"

[[bench]]
name = "blst_benches"
harness = false

[profile.release]
#opt-level = 3

[badges]
maintenance = { status = "actively-developed" }
