Skip to content

Commit b328fcf

Browse files
committed
Add simple README about our C bindings generation stuff
1 parent 9e07e3c commit b328fcf

File tree

1 file changed

+14
-0
lines changed

1 file changed

+14
-0
lines changed

c-bindings-gen/README.md

+14
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
LDK C Bindings Generator
2+
========================
3+
4+
This program parses a single-file-lib.rs Rust crate's AST passed in on stdin and generates a second
5+
crate which is C-callable (and carries appropriate annotations for cbindgen). It is usually invoked
6+
via the `genbindings.sh` script in the top-level directory, which converts the lightning crate into
7+
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)