2 Commits

Author SHA1 Message Date
Ivan FB
6d56b9b523
chore: drop the cmd.c cmdCount/cmdLine shim
The shim existed to satisfy Nim's cmdCount/cmdLine globals, which the static
library referenced when it pulled in the command-line machinery. Nothing in
liblogosdelivery.a (nor any archive on the link line) references either symbol
now, and a clean rebuild of the workspace and the basic example links without
it.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-16 17:03:33 +02:00
Ivan FB
1b25e5c327
refactor: collapse waku-sys into waku-bindings
waku-sys was a thin -sys crate that only re-exported the generated FFI
sources via #[path] and carried the build. It sat between waku-bindings
and the generated crate for no real benefit -- the generated crate is the
actual -sys equivalent, and its own build.rs cannot build logos-delivery
(bare `nim c`, one link directive). So the wrapper is folded in:

- The build (make liblogosdelivery + the 13 link directives, librln
  discovery, cmd.c) moves into waku-bindings/build.rs.
- waku-bindings pulls the generated ffi/types/api modules directly by
  #[path] into the vendor submodule, which moves from waku-sys/vendor to
  the repo root (vendor/).
- ciborium/flume and the cc build-dep move over; the waku-sys path
  dependency is dropped.

Consumers are unaffected -- they always depended only on waku-bindings.
This is one crate and one layer fewer.

build.rs now also removes a stale build/liblogosdelivery.dylib after the
static build: the generated ffi.rs declares `#[link(name =
"logosdelivery")]` with no kind, so a dylib left by a non-STATIC make
would be linked dynamically over the static archive.

Full suite passes (4 tests + doctest, 1 ignored) and all three examples
build.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-16 16:47:10 +02:00