Skip to content

Commit

Permalink
Add simple README about our C bindings generation stuff
Browse files Browse the repository at this point in the history
  • Loading branch information
TheBlueMatt committed Feb 27, 2021
1 parent 30d3e4c commit e5f42aa
Showing 1 changed file with 14 additions and 0 deletions.
14 changes: 14 additions & 0 deletions c-bindings-gen/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
LDK C Bindings Generator
========================

This program parses a single-file-lib.rs Rust crate's AST passed in on stdin and generates a second
crate which is C-callable (and carries appropriate annotations for cbindgen). It is usually invoked
via the `genbindings.sh` script in the top-level directory, which converts the lightning crate into
a single file with a call to
`RUSTC_BOOTSTRAP=1 cargo rustc --profile=check -- -Zunstable-options --pretty=expanded`.

`genbindings.sh` requires that you have a rustc installed with the `wasm32-wasi` target available
(eg via the `libstd-rust-dev-wasm32` package on Debian or `rustup target add wasm32-wasi` for those
using rustup), cbindgen installed via `cargo install cbindgen` and in your `PATH`, and `clang`,
`clang++`, `gcc`, and `g++` available in your `PATH`. It uses `valgrind` if it is available to test
the generated bindings thoroughly for memory management issues.

0 comments on commit e5f42aa

Please sign in to comment.