Skip to content

Commit ee9ceb4

Browse files
committed
Add simple README about our C bindings generation stuff
1 parent f2e4f8a commit ee9ceb4

File tree

1 file changed

+14
-0
lines changed

1 file changed

+14
-0
lines changed

c-bindings-gen/README.md

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
LDK C Bindings Generator
2+
========================
3+
4+
This program parses a Rust crate's AST from a single lib.rs passed in on stdin and generates a
5+
second crate which is C-callable (and carries appropriate annotations for cbindgen). It is usually
6+
invoked via the `genbindings.sh` script in the top-level directory, which converts the lightning
7+
crate into a single file with a call to
8+
`RUSTC_BOOTSTRAP=1 cargo rustc --profile=check -- -Zunstable-options --pretty=expanded`.
9+
10+
`genbindings.sh` requires that you have a rustc installed with the `wasm32-wasi` target available
11+
(eg via the `libstd-rust-dev-wasm32` package on Debian or `rustup target add wasm32-wasi` for those
12+
using rustup), cbindgen installed via `cargo install cbindgen` and in your `PATH`, and `clang`,
13+
`clang++`, `gcc`, and `g++` available in your `PATH`. It uses `valgrind` if it is available to test
14+
the generated bindings thoroughly for memory management issues.

0 commit comments

Comments
 (0)