make crypto depending on ring optional

This commit is contained in:
Skgland
2026-04-25 21:17:48 +02:00
committed by Bennet Bleßmann
parent 61d94dceae
commit 938f588769
2 changed files with 362 additions and 245 deletions

View File

@@ -17,16 +17,25 @@ rust-version = "1.93.1"
crate-type = ["cdylib", "rlib"]
[features]
default = ["ffi", "repl", "hostname", "tls", "http", "crypto-full"]
default = ["all-simple-cross", "tls", "http"]
# activates all features that depend on no non pure-rust dependencies
#
# currently does not include
# ffi due to libffi
# tls, http due to openssl
# crypto-inpure due to ring
all-pure = ["repl", "hostname"]
# enables all features that are simple to get working for cross-compliation
# currently all but tls, http as those depend on openssl
all-simple-cross = ["ffi", "repl", "hostname", "crypto-full"]
all-simple-cross = ["all-pure", "ffi", "crypto-full"]
ffi = ["dep:libffi"]
repl = ["dep:crossterm", "dep:ctrlc", "dep:rustyline"]
hostname = ["dep:hostname"]
tls = ["dep:native-tls"]
http = ["dep:warp", "dep:reqwest"]
crypto-full = []
# crypto function that require non pure-rust dependencies
crypto-inpure = ["dep:ring"]
crypto-full = ["crypto-inpure"]
[lints.rust]
unexpected_cfgs = { level = "deny", check-cfg = [
@@ -73,7 +82,9 @@ ordered-float = "5.0.0"
phf = { version = "0.11", features = ["macros"] }
puruspe = "0.4.1"
rand = "0.8.5"
ring = { version = "0.17.8", features = ["wasm32_unknown_unknown_js"] }
ring = { version = "0.17.8", features = [
"wasm32_unknown_unknown_js",
], optional = true }
ripemd = "0.1.3"
roxmltree = "0.20.0"
ryu = "1.0.18"