37 releases (breaking)
0.28.0 | Aug 9, 2024 |
---|---|
0.27.1 | Dec 2, 2023 |
0.26.0 | Oct 13, 2023 |
0.24.0 | May 12, 2023 |
0.4.1 | Nov 19, 2020 |
#199 in #part
300KB
7K
SLoC
C bindings for ergo-lib
A thin wrapper for core Rust part of C bindings Does not use Rust types in the API and is suitable for C FFI.
Build instructions
The following command builds the project with REST API features:
cargo build -p ergo-lib-c --features rest
To build without REST simply omit --features rest
.
The C header file is generated with cbindgen. Run the following command:
cbindgen --config cbindgen.toml --crate ergo-lib-c --output h/ergo_lib.h
Note that we require a nightly version of rustc just for this command. This is because we use
macros to generate some C-types and cbindgen
cannot directly generate types through them. However
cbindgen
gives us the option to expand macros, which can only be done through a nightly version of
rustc
. The crate itself can always be compiled by a stable version of rustc
.
lib.rs
:
C bindings for ergo-lib
Dependencies
~18–32MB
~512K SLoC