whisperfish / libsignal-protocol-rs

A Rust interface to the Signal Protocol. DEPRECATED in favour of https://github.com/signalapp/libsignal-client ! Signal reimplemented the whole thing in Rust.

Home Page:https://michael-f-bryan.github.io/libsignal-protocol-rs

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Remove `bindgent` to decrease the build time and speed up compile-time

shekohex opened this issue · comments

I propose to remove the bindgen dependency from build section, and directly use the generated file.
since the generated file is not a platform-specific, and the upstream code base of libsignal-protocol-c is very stable and unlikely to change anytime soon, so i see there is no need for that dependency.

I could start working on removing it, but @Michael-F-Bryan what do you think ?

Hmm... I'm in two minds about this. On one hand, using the generated code directly means we have lower compile times and remove the dependencies of libclang (a native library) and bindgen (from crates.io). But on the other hand it means we'll have problems if there are any platform-specific incompatibilities, and we'll need to manually re-generate the bindings every time we upgrade the libsignal-protocol-c submodule.

i think there is will be no problems if there is a change in the libsignal-protocol-c since i think we will make sure before we make any updates from upstream repo we will re generate the bindgen locally using the bindgen cli.
also as i said the libsignal-protocol-c seems too stable right now at least for the public api, the latest commit in the src was committed a year ago !

Good point, if that's the case I don't think we'll have any problems with removing bindgen 👍