Better no-std support

- Use `default-features = false` for `miniscript`,`bitcoin`,and `bdk_chain`
- Introduce `bdk_chain/std` feature
- Add GitHub workflow `check-no-std` (not yet completly working)
- Update GitHub workflow `check-wasm` to disable default `std` features
This commit is contained in:
Steve Myers
2023-03-15 11:44:52 -05:00
parent b184e351e5
commit 7ab84be9c7
8 changed files with 57 additions and 23 deletions

View File

@@ -13,18 +13,18 @@ readme = "README.md"
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
[dependencies]
bitcoin = { version = "0.29" }
bitcoin = { version = "0.29", default-features = false }
serde_crate = { package = "serde", version = "1", optional = true, features = ["derive"] }
# Use hashbrown as a feature flag to have HashSet and HashMap from it.
# note version 0.13 breaks outs MSRV.
hashbrown = { version = "0.12", optional = true, features = ["serde"] }
miniscript = { version = "9.0.0", optional = true }
hashbrown = { version = "0.12", optional = true, features = ["serde"] }
miniscript = { version = "9.0.0", optional = true, default-features = false }
[dev-dependencies]
rand = "0.8"
[features]
default = ["std", "miniscript"]
std = []
default = ["std"]
std = ["bitcoin/std"]
serde = ["serde_crate", "bitcoin/serde" ]