• Home
Name Date Size #Lines LOC

..--

src/03-May-2024-2518

CMakeLists.txtD03-May-20242.5 KiB5047

Cargo.tomlD03-May-2024144 87

README.mdD03-May-20241.1 KiB138

build.rsD03-May-20242.1 KiB5833

rust_wrapper.cD03-May-20241 KiB2910

rust_wrapper.hD03-May-20241.3 KiB3813

wrapper.hD03-May-20242.1 KiB8078

README.md

1bssl-sys
2============
3
4A low-level binding crate for Rust that moves in lockstop with BoringSSL. BoringSSL explicitly does not have a stable ABI, `bssl-sys` is the solution for preventing subtle-memory corruption bugs due to version skew.
5
6### How it works
7`bssl-sys` uses `bindgen` as part of the cmake build process to generate Rust compatibility shims for the targeted platform. It is important to generate it for the correct platform because `bindgen` uses LLVM information for alignment which varies depending on architecture.
8
9### To Use
10Build `boringssl` with `-DRUST_BINDINGS=<rust-triple>` and ensure that you have `bindgen` installed. The `rust-triple` option should match the [Rust target triple](https://doc.rust-lang.org/nightly/rustc/platform-support.html) when building `bssl-sys`.
11
12From there, the `bssl-sys` crate can be built. By default, it looks for `bindgen` output and BoringSSL static libraries in the `build` directory. This can be reconfigured with `BORINGSSL_BUILD_DIR` environment variable. Note the environment variable is evaluated relative to `rust/bssl-sys/src`, so using an absolute path may be more convenient.
13