And there is #cbindgen which is designed to somehow support my use case (calling Rust code from C) but it generates the C header instead of relying on existing ones.
So far I guess the way to go is to use bindgen to generate the bindings and manully adapt the generated code by replacing `extern { fn foo(); }` with `#[no_mangle] pub extern fn foo() { ... }`.
Am I missing something?