mirror of
https://github.com/logos-messaging/nim-ffi.git
synced 2026-06-20 08:19:55 +00:00
Aligns the Rust crate names with the C generator and the symbol naming: the native (zero-serialization, same-process) crate is the bare `<lib>` and the CBOR (inter-process) crate carries the `_cbor` suffix — mirroring `<lib>.h` / `<lib>_cbor.h` and the `<name>` / `<name>_cbor` exports. Previously the native crate was `<lib>_native` and the CBOR crate was the bare `<lib>`, which is backwards from the symbol convention. Only the Cargo package name changes; the linked dylib stays `lib<lib>.dylib` (the `#[link]` name and build.rs are untouched). Consumers updated: rust_client depends on `my_timer_cbor` and imports from it; the native demo imports from the bare `my_timer`. Validated: rust_client builds against the renamed CBOR crate; the native demo round-trips version / echo / event / complex / schedule against the bare crate; check_bindings_rust regen is deterministic. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
nim-ffi
Allows exposing Nim projects to other languages
Example
examples/timer is now a self-contained Nimble project that imports nim-ffi directly.
Use cd examples/timer && nimble install -y ../.. && nimble build to compile the example.
Description
Languages
Nim
87.9%
Smarty
5.9%
C++
4.8%
CMake
1.4%