Contributing to BoringSSL
Location of the code
The BoringSSL code lives at https://boringssl.googlesource.com/boringssl.git.
It is mapped into the Chromium tree via src/DEPS to src/third_party/boringssl
Filing bugs
Bugs are filed under the BoringSSL issue tracker.
Building
Refer to BUILDING.md for the canonical build instructions. Assuming those haven't changed, set things up to build through ninja by executing:
cd src/third_party/boringssl/src
cmake -GNinja -B build
ninja -C build
Once the ninja files are generated you can re-build from other directories using:
ninja -C <path-to-boringssl-src-build>
Running the tests
See instructions in BUILDING.md to run the tests. From a Chromium checkout, this incantation may be used:
cd src/third_party/boringssl/src
ninja -C build run_tests
Uploading changes for review
See CONTRIBUTING.md in the BoringSSL repository.
Rolling DEPS into Chromium
Because BoringSSL lives in a separate repository, it must be "rolled" into Chromium to get the updates.
To roll BoringSSL create a changelist in the Chromium repository that modifies src/DEPS and re-generates the gn and asm files:
- Simple example: https://codereview.chromium.org/866213002 (Just modifies DEPS):
- More complicated example: https://codereview.chromium.org/693893006 (ASM changed and test added)
There is a script to automate all these steps:
python3 third_party/boringssl/roll_boringssl.py