Hard-code dependent crate feature flags
authorMatt Corallo <git@bluematt.me>
Wed, 5 Jun 2024 14:36:31 +0000 (14:36 +0000)
committerMatt Corallo <git@bluematt.me>
Thu, 6 Jun 2024 13:45:28 +0000 (13:45 +0000)
commit6ad10ff1534e3a490e5fb6d00e58ab702c510c29
tree624e9f9034e354bef383c26be94b1278392874aa
parent45018ac4d74145997bfeb8d478419bbd0d9d2608
Hard-code dependent crate feature flags

When we generate bindings, we generate bindings across the API
surface of whatever features we had set. Thus, any generated
bindings are specific to the features we had set and it doesn't
make sense to have features on the `lightning-c-bindings` crate as
setting the wrong one will simply lead to a compilation failure.

Instead, here we hard-code the features in the dependencies section
of `Cargo.toml`.

Sadly, because we want to take an optional `core2` dependency, we
can't quite fully drop the `lightning-c-bindings` features
entirely, but after upgrading to rust-bitcoin 0.32 we should be
able to.
.github/workflows/build.yml
c-bindings-gen/src/main.rs
genbindings.sh
lightning-c-bindings/Cargo.toml
lightning-c-bindings/src/c_types/mod.rs
lightning-c-bindings/src/lib.rs