mirror of
https://github.com/lightningdevkit/rust-lightning.git
synced 2025-02-25 23:30:59 +01:00
15 lines
930 B
Markdown
15 lines
930 B
Markdown
|
LDK C Bindings Generator
|
||
|
========================
|
||
|
|
||
|
This program parses a Rust crate's AST from a single lib.rs 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.
|