@@ -9,19 +9,22 @@ edition = "2024"
99# *** Internal Dependencies ***
1010bouncycastle = { path = " ./" , version = " 0.1.2" }
1111bouncycastle-base64 = { path = " ./crypto/base64" , version = " 0.1.2" }
12- bouncycastle-core = { path = " crypto/core" , version = " 0.1.2" }
12+ # `default-features = false` here (rather than on each member) is required so that individual
13+ # crates can opt out of the `alloc` feature for `no_std` builds; members re-enable it through
14+ # their own `alloc` feature. Building the whole workspace keeps `alloc` on via feature unification.
15+ bouncycastle-core = { path = " crypto/core" , version = " 0.1.2" , default-features = false }
1316bouncycastle-core-test-framework = { path = " ./crypto/core-test-framework" , version = " 0.1.2" }
1417bouncycastle-factory = { path = " ./crypto/factory" , version = " 0.1.2" }
1518bouncycastle-hex = { path = " ./crypto/hex" , version = " 0.1.2" }
1619bouncycastle-hkdf = { path = " ./crypto/hkdf" , version = " 0.1.2" }
17- bouncycastle-hmac = { path = " ./crypto/hmac" , version = " 0.1.2" }
20+ bouncycastle-hmac = { path = " ./crypto/hmac" , version = " 0.1.2" , default-features = false }
1821bouncycastle-mlkem = { path = " ./crypto/mlkem" , version = " 0.1.2" }
1922bouncycastle-mlkem-lowmemory = { path = " ./crypto/mlkem-lowmemory" , version = " 0.1.2" }
2023bouncycastle-mldsa = { path = " ./crypto/mldsa" , version = " 0.1.2" }
2124bouncycastle-mldsa-lowmemory = { path = " ./crypto/mldsa-lowmemory" , version = " 0.1.2" }
2225bouncycastle-rng = { path = " ./crypto/rng" , version = " 0.1.2" }
23- bouncycastle-sha2 = { path = " ./crypto/sha2" , version = " 0.1.2" }
24- bouncycastle-sha3 = { path = " ./crypto/sha3" , version = " 0.1.2" }
26+ bouncycastle-sha2 = { path = " ./crypto/sha2" , version = " 0.1.2" , default-features = false }
27+ bouncycastle-sha3 = { path = " ./crypto/sha3" , version = " 0.1.2" , default-features = false }
2528bouncycastle-utils = { path = " ./crypto/utils" , version = " 0.1.2" }
2629
2730
@@ -39,17 +42,20 @@ name = "bouncycastle"
3942version = " 0.1.2"
4043edition.workspace = true
4144
45+ # The umbrella crate re-exports the whole library for downstream users who want everything in one
46+ # dependency, so it enables `alloc` on the primitive crates whose workspace deps default it off.
47+ # (base64/hex/hkdf/rng/factory already default `alloc` on.)
4248[dependencies ]
4349bouncycastle-base64.workspace = true
44- bouncycastle-core. workspace = true
50+ bouncycastle-core = { workspace = true , features = [ " alloc " ] }
4551bouncycastle-factory.workspace = true
4652bouncycastle-hex.workspace = true
4753bouncycastle-hkdf.workspace = true
48- bouncycastle-hmac. workspace = true
54+ bouncycastle-hmac = { workspace = true , features = [ " alloc " ] }
4955bouncycastle-mldsa.workspace = true
5056bouncycastle-mldsa-lowmemory.workspace = true
5157bouncycastle-mlkem.workspace = true
5258bouncycastle-mlkem-lowmemory.workspace = true
5359bouncycastle-rng.workspace = true
54- bouncycastle-sha2. workspace = true
55- bouncycastle-sha3. workspace = true
60+ bouncycastle-sha2 = { workspace = true , features = [ " alloc " ] }
61+ bouncycastle-sha3 = { workspace = true , features = [ " alloc " ] }
0 commit comments