fork of boring2 with prefix patch
Go to file
Anthony Ramine 7434e35faa Introduce BORING_BSSL_SYSROOT and BORING_BSSL_EXTERNAL_TOOLCHAIN
These variables let us configure CMAKE_SYSROOT and
CMAKE_{C,CXX,ASM}_EXTERNAL_TOOLCHAIN from env variables
without needing an error-prone custom toolchain file.

Most users won't need BORING_BSSL_EXTERNAL_TOOLCHAIN, but some
packages (such as Homebrew package
messense/macos-cross-toolchains/x86_64-unknown-linux-gnu) don't
install the sysroot at the root of the GCC installation, so clang-12
cannot find crt1.o and crti.o.

Finally, we also set up CMAKE_CROSSCOMPILING and
CMAKE_{C,CXX,ASM}_COMPILER_TARGET to make cross compilation work
with compilers that have cross-compiling drivers (i.e. clang).

We can now cross build boring-sys from macOS to Linux with
fips feature turned on:

brew tap nox/misc
brew install llvm@12.0.0
export PATH="$(brew --prefix llvm@12.0.0)/bin:$PATH"

brew tap messense/macos-cross-toolchains
brew install x86_64-unknown-linux-gnu
export BORING_BSSL_FIPS_EXTERNAL_TOOLCHAIN="$(brew --prefix x86_64-unknown-linux-gnu)/toolchain"
export BORING_BSSL_FIPS_SYSROOT="$BORING_BSSL_FIPS_EXTERNAL_TOOLCHAIN/x86_unknown-linux-gnu/sysroot"

cargo build --target x86_64-unknown-linux-gnu -p boring-sys --features fips
2023-10-26 11:31:47 +01:00
.github/workflows Use features to set key exchange preferences 2023-09-01 14:21:35 -07:00
boring Allow returning GetSessionPendingError from get session callbacks 2023-10-25 10:25:55 +01:00
boring-sys Introduce BORING_BSSL_SYSROOT and BORING_BSSL_EXTERNAL_TOOLCHAIN 2023-10-26 11:31:47 +01:00
hyper-boring Replace feature no-patches with BORING_BSSL{,_FIPS}_ASSUME_PATCHED 2023-10-23 15:06:23 +02:00
scripts Add publish script 2020-11-12 13:08:13 +00:00
tokio-boring Introduce set_async_get_session_callback 2023-10-25 10:25:55 +01:00
.gitignore Rename stuff 2020-11-11 17:47:30 +00:00
.gitmodules Add fips-3678 feature (#52) 2022-01-31 16:11:33 -06:00
.rusty-hook.toml Add tokio-boring 2020-11-11 19:26:22 +00:00
Cargo.toml deps: update to bindgen 0.68 2023-10-09 13:25:45 +02:00
README.md Update docs 2023-07-10 12:29:30 +01:00
RELEASE_NOTES Update RELEASE_NOTES 2023-09-13 12:38:03 +01:00
THIRD_PARTY Rename stuff 2020-11-11 17:47:30 +00:00
cliff.toml Add git-cliff configuration 2023-07-28 14:02:46 +01:00

README.md

boring

crates.io

BoringSSL bindings for the Rust programming language and TLS adapters for tokio and hyper built on top of it.

Documentation

Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed under the terms of both the Apache License, Version 2.0 and the MIT license without any additional terms or conditions.

Accolades

The project is based on a fork of rust-openssl.