libcrux 0.0.2-pre.2

The Formally Verified Cryptography Library
Documentation
[workspace]
members = [
    "sys/hacl",
    "sys/libjade",
    "sys/platform",
    "sys/pqclean",
    "benchmarks",
]

[workspace.package]
version = "0.0.2-pre.2"
authors = ["Cryspen"]
license = "Apache-2.0"
homepage = "https://github.com/cryspen/libcrux"
edition = "2021"
repository = "https://github.com/cryspen/libcrux"
readme = "Readme.md"

[package]
name = "libcrux"
version.workspace = true
edition.workspace = true
authors.workspace = true
license.workspace = true
homepage.workspace = true
repository.workspace = true
readme.workspace = true
documentation = "https://docs.rs/libcrux/"
description = "The Formally Verified Cryptography Library"
exclude = ["/tests"]

[lib]
crate-type = ["staticlib", "cdylib", "lib"]

[build-dependencies]
libcrux-platform = { version = "=0.0.2-pre.2", path = "sys/platform" }

[dependencies]
libcrux-hacl = { version = "=0.0.2-pre.2", path = "sys/hacl" }
libcrux-platform = { version = "=0.0.2-pre.2", path = "sys/platform" }
rand = { version = "0.8" }
log = { version = "0.4", optional = true }
# WASM API
wasm-bindgen = { version = "0.2.87", optional = true }

# WASM needs the js feature on getrandom
[target.'cfg(target_arch = "wasm32")'.dependencies]
getrandom = { version = "0.2", features = ["js"] }

[target.'cfg(all(not(target_os = "windows"), target_arch = "x86_64"))'.dependencies]
libjade-sys = { version = "=0.0.2-pre.2", path = "sys/libjade" }

[dev-dependencies]
libcrux = { path = ".", features = ["rand"] }
pretty_env_logger = "0.5"
rand = { version = "0.8" }
rand_core = { version = "0.6" }
quickcheck = "1"
quickcheck_macros = "1"
serde_json = { version = "1.0" }
serde = { version = "1.0", features = ["derive"] }
hex = "0.4"

[target.'cfg(target_arch = "wasm32")'.dev-dependencies]
wasm-bindgen-test = "0.3"

[features]
hacspec = []            # TODO: #7 Use specs instead of efficient implementations
rand = []
wasm = ["wasm-bindgen"]
log = ["dep:log"]