31 Commits

Author SHA1 Message Date
Bob Beck 6f3e8229bb Rust build cleanup
Add Cargo.lock to .gitignore for rust/bssl-crypto and remove generated file
Clean up cargo deny warnings and set reasonable starting point in deny.toml

Change-Id: I0b925408ab6b7947b1b01282bac803feb769421a
Reviewed-on: https://boringssl-review.googlesource.com/c/boringssl/+/57985
Reviewed-by: Nabil Wadih <nwadih@google.com>
Reviewed-by: David Benjamin <davidben@google.com>
Commit-Queue: Bob Beck <bbe@google.com>
2023-03-14 21:34:08 +00:00
Nabil Wadih be79283dd8 initial setup for bssl crate with hmac and sha2 bindings
- update rust folder to split into `bssl` and `bssl-sys`
- add initial bindings for hmac and a subset of sha2

Change-Id: I09e0e778c1590de6818a49e19529ceb011e4d9f6
Reviewed-on: https://boringssl-review.googlesource.com/c/boringssl/+/57285
Reviewed-by: Bob Beck <bbe@google.com>
Commit-Queue: Bob Beck <bbe@google.com>
Reviewed-by: Adam Langley <agl@google.com>
2023-03-14 16:19:48 +00:00
David Benjamin f88b7c8397 Use the common location for CMake in the bots
Follow-up to
https://chromium-review.googlesource.com/c/chromium/tools/build/+/4296194/

But mostly I've since added a lot more configurations to CI and want to
make sure I haven't broken anything.

Change-Id: I627711356004bf2244bd729b6055e9e0e619724e
Reviewed-on: https://boringssl-review.googlesource.com/c/boringssl/+/57691
Commit-Queue: Bob Beck <bbe@google.com>
Auto-Submit: David Benjamin <davidben@google.com>
Reviewed-by: Bob Beck <bbe@google.com>
2023-02-28 00:07:05 +00:00
David Benjamin 55902f24e8 Switch to CIPD's copy of perl
This was added in https://crbug.com/1414198. Extracting
it to the same place as before to avoid needing to
update the recipe.

Change-Id: I02dd8bc2a9c0fc54236e10e13a43e716f1a34247
Reviewed-on: https://boringssl-review.googlesource.com/c/boringssl/+/57647
Reviewed-by: Bob Beck <bbe@google.com>
Auto-Submit: David Benjamin <davidben@google.com>
Commit-Queue: Bob Beck <bbe@google.com>
2023-02-24 18:29:58 +00:00
David Benjamin 7ad733c81a Add a copy of ninja from CIPD to util/bot/DEPS
Interestingly, the Chromium version is a bit behind the default. I've
set it to match the Chromium version.

Bug: chromium:1340825
Change-Id: Ia956e42897add5849dfe09ec8e3a19f704ed9641
Reviewed-on: https://boringssl-review.googlesource.com/c/boringssl/+/55425
Reviewed-by: Adam Langley <agl@google.com>
Commit-Queue: David Benjamin <davidben@google.com>
2022-12-01 21:04:30 +00:00
David Benjamin f7e2879667 Switch to the CIPD version of CMake on Windows.
Bug: chromium:1205638
Change-Id: Iee6d4cbdff513f248e747fc497c4bda3efb995e5
Reviewed-on: https://boringssl-review.googlesource.com/c/boringssl/+/52645
Reviewed-by: Adam Langley <agl@google.com>
Commit-Queue: David Benjamin <davidben@google.com>
2022-05-20 17:24:09 +00:00
Kenichi Ishibashi e5abf588c0 Rust bindings: Use CARGO_MANIFEST_DIR in build.rs
When a rust crate uses the boringssl rust bindings like:

```Cargo.toml
[dependencies]
bssl-sys = { path = "./third_party/boringssl/build/rust" }
```

The working directory of `build.rs` is set to the the crate's
working directory so "." and ".." aren't relative to the bindings'
directory. Use CARGO_MANIFEST_DIR to specify link search paths.

Change-Id: Ieb49f4ab479f47390388dc5ace70561f593dc238
Reviewed-on: https://boringssl-review.googlesource.com/c/boringssl/+/51645
Reviewed-by: David Drysdale <drysdale@google.com>
Reviewed-by: David Benjamin <davidben@google.com>
Commit-Queue: David Benjamin <davidben@google.com>
2022-03-08 21:55:34 +00:00
David Benjamin ec85d0ddbc Update Intel SDE.
Change-Id: Iabbcc9096d2c9eea4ad13aed82fb7b1997c02e24
Reviewed-on: https://boringssl-review.googlesource.com/c/boringssl/+/51545
Reviewed-by: Adam Langley <agl@google.com>
2022-02-23 19:07:40 +00:00
Benjamin Brittain 8d8d8f3ea7 Generates "low-level" bindings for Rust using bindgen
This is designed to be the minimal infrastructure required to support
using BoringSSL in the Rust ecosystem without fear of ABI drift. Bindgen
is used to generate Rust bindings in lockstep with the rest of the
build. `rust-openssl` can consume these generated bindings with minimal
changes.

Change-Id: I1dacd36a4131e22a930ebb01da00407e8465ad7e
Reviewed-on: https://boringssl-review.googlesource.com/c/boringssl/+/49645
Reviewed-by: David Benjamin <davidben@google.com>
Reviewed-by: Adam Langley <agl@google.com>
Commit-Queue: David Benjamin <davidben@google.com>
2022-01-19 21:37:28 +00:00
David Benjamin 43828993bc Add util/bot/libFuzzer to .gitignore.
The gclient-managed files usually go in .gitignore. I think without it,
we have to redownload it all the time on the bots? Though this also
makes my git status cleaner.

Change-Id: Ic9bac6796bd3dcdea5039bcac39e853d9f12906b
Reviewed-on: https://boringssl-review.googlesource.com/c/boringssl/+/46824
Commit-Queue: David Benjamin <davidben@google.com>
Reviewed-by: Adam Langley <agl@google.com>
2021-04-14 20:48:16 +00:00
David Benjamin 814465f01d Update CMake on the bots and switch to CIPD where available.
Newer versions of CMake have some fix for default libraries on
Windows/ARM64. (Not sure exactly what version, but the latest CMake does
seem to work.)

While trying to update the others, it turns out my workstation no longer
makes CMake builds compatible with the builders. It's also tedious that
updating CMake requires making builds myself. Fortunately, Chrome infra
is maintains some packages of third-party software in CIPD.

However, they don't make Windows CMake builds (filed
https://crbug.com/1180257 to request them), and they're stuck on 3.13.x
(blocked on https://crbug.com/1176531).

So, this CL switches to CIPD for Mac/Linux, with the latest version they
have available. It sticks with the old method (uploading copies of
upstream's packages) for Windows and grabs the latest version. When both
of the bugs above are fixed, hopefully things will be more uniform.

Change-Id: I710091fc60594165738a893b2be73cdcef54dfe2
Reviewed-on: https://boringssl-review.googlesource.com/c/boringssl/+/45764
Reviewed-by: Adam Langley <agl@google.com>
Commit-Queue: David Benjamin <davidben@google.com>
2021-02-19 18:48:04 +00:00
David Benjamin a929e32746 Finish switching to NASM.
As of
https://chromium-review.googlesource.com/c/chromium/tools/build/+/2586225,
we no longer test on Yasm. Yasm hasn't seen a release for over six years
now and is missing support for newer x86 instructions.

This removes the remnants of support for Yasm on the CI. It also removes
the Yasm support we patched into x86nasm.pl, which removes a now
unnecessary divergence from upstream.

Update-Note: If a x86 Windows asm build breaks, switch from Yasm to
NASM. We're also no longer testing NASM on x86_64 Windows, but there
wasn't any patch to revert.

Change-Id: I016bad8757fcc13240db9f56dd622be518e649d7
Reviewed-on: https://boringssl-review.googlesource.com/c/boringssl/+/44564
Reviewed-by: Adam Langley <agl@google.com>
Commit-Queue: David Benjamin <davidben@google.com>
2020-12-11 17:17:47 +00:00
David Benjamin 73b69308ac Rework vs_toolchain.py and vs_env.py.
Chromium's VS toolchains now maintain JSON files with the expected
environment, so we don't need to pull in gyp to figure out the batch
file to run. This drops a long obsolete dependency and will make it
possible to handle other VS architectures. (gyp internally only handled
x86 and x64.)

Also trim away the logic in vs_toolchain.py to account for
non-depot_tools toolchains. Unlike Chromium, we don't use these scripts
outside of CI/CQ.

Change-Id: I2c9fddac52eef7b4895731d78c637fdcf9c85033
Reviewed-on: https://boringssl-review.googlesource.com/c/boringssl/+/43504
Reviewed-by: Adam Langley <agl@google.com>
2020-11-03 21:13:47 +00:00
Pete Bentley 15b4fb2acf Ignore build32 and build64 subdirectories.
Used for Conscrypt local builds:
https://github.com/google/conscrypt/blob/master/BUILDING.md

Change-Id: I7eaa225cdc3c79cb5ac4902d222d408169f7ded0
Reviewed-on: https://boringssl-review.googlesource.com/c/boringssl/+/37724
Commit-Queue: Pete Bentley <prb@google.com>
Reviewed-by: Adam Langley <agl@google.com>
2019-09-24 16:10:38 +00:00
Yun Liu 365b7a0fcb Remove android_tools checkout
Remove it when recipe change https://chromium-review.googlesource.com/c/chromium/tools/build/+/1685789
checked in and works as expected.

Bug: chromium:428426
Change-Id: I649ba7f4bd003101c71d07faad2a0d1e957cb97e
Reviewed-on: https://boringssl-review.googlesource.com/c/boringssl/+/36626
Reviewed-by: David Benjamin <davidben@google.com>
Commit-Queue: David Benjamin <davidben@google.com>
2019-07-09 14:38:19 +00:00
Yun Liu 3f98fde5ad Add android_sdk checkout
Bug: chromium:428426
Change-Id: I12c2969fe8b37a604b14300433f3e3f09aeb24e6
Reviewed-on: https://boringssl-review.googlesource.com/c/boringssl/+/36584
Reviewed-by: David Benjamin <davidben@google.com>
Commit-Queue: David Benjamin <davidben@google.com>
2019-07-08 21:35:59 +00:00
Steven Valdez 0326105aa9 Add compiled python files to .gitignore.
Change-Id: If5d88d88bd1ea8189cc715cc38e70bd3b11c4b67
Reviewed-on: https://boringssl-review.googlesource.com/c/34950
Commit-Queue: Steven Valdez <svaldez@google.com>
Commit-Queue: David Benjamin <davidben@google.com>
Reviewed-by: David Benjamin <davidben@google.com>
2019-02-21 17:41:59 +00:00
David Benjamin cc5a888fe5 Update SDE and add the Windows version.
Windows is sufficiently different from Linux that running tests under
SDE for Windows, particularly with the new ABI tests, is worthwhile.

Change-Id: I32c4f6de06b2e732ebb2c1492eb1766cae73c0e0
Reviewed-on: https://boringssl-review.googlesource.com/c/34064
Reviewed-by: Steven Valdez <svaldez@google.com>
Reviewed-by: Adam Langley <agl@google.com>
Commit-Queue: Adam Langley <agl@google.com>
2019-01-03 21:01:33 +00:00
David Benjamin 8b60cde1ad Update tools.
In particular, pull Go 1.11 to get module support. Also we don't need to
pull in libfuzzer anymore.

Change-Id: I8098f64cef59422d9d43f7eca5bf3ced69eb70c4
Reviewed-on: https://boringssl-review.googlesource.com/31864
Reviewed-by: Adam Langley <agl@google.com>
2018-09-13 17:57:30 +00:00
David Benjamin e9ae99bba2 Add an option to statically link a custom libc++.
MSan and TSan both require instrumenting everything. Add some machinery so we
can do this on the bots.

Change-Id: I7d2106bc852ee976455d18787d3a20a35373a9e7
Reviewed-on: https://boringssl-review.googlesource.com/30644
Reviewed-by: Adam Langley <agl@google.com>
2018-08-09 21:37:04 +00:00
David Benjamin 26f8297177 Switch to 64-bit tools on Windows.
It's 2018. I'm not sure why I added the 32-bit ones; even the 32-bit
bots build and run on 64-bit Windows. ninja.exe in depot_tools is also a
64-bit binary. I suspect this is because some of the depot_tools bits
use --platform=win32, but that's just the sys.platform string.

Alas, I stupidly named these "win32" way back. Dealing with the rename
is probably more trouble than worth it right now since the build recipes
refer to the name. Something to deal with later. (Regardless we'll want
"win32" to point to 64-bit binaries so that try jobs can test it.)

Also add the missing nasm-win32.exe to .gitignore.

For some reason the 64-bit Yasm binary does not work on the vs2017 CQ
bots, so I've left it alone. Hopefully it should be replaced by NASM
later anyway.

Change-Id: If65ececddbc6526ceebaafbef56eddea8ece58ba
Reviewed-on: https://boringssl-review.googlesource.com/29384
Reviewed-by: Steven Valdez <svaldez@google.com>
Commit-Queue: David Benjamin <davidben@google.com>
CQ-Verified: CQ bot account: commit-bot@chromium.org <commit-bot@chromium.org>
2018-06-29 18:05:31 +00:00
Shenghua Zhang a4f78775b9 [ndk] Change ndk deps in src and relocate to third_party/boringssl
Because the android sdk managed by CIPD (see go/use-adjective-apis),
its deps repo ndk needs to be relocated, as well as hooked by the root
DEPS instead of recursedeps. This CL addes android ndk deps in
util/bot/DEPS.

Bug: chromium:659808
Change-Id: I270053ae56ba1caaf9c67f2240855eafd499b782
Reviewed-on: https://boringssl-review.googlesource.com/24864
Reviewed-by: David Benjamin <davidben@google.com>
Commit-Queue: David Benjamin <davidben@google.com>
CQ-Verified: CQ bot account: commit-bot@chromium.org <commit-bot@chromium.org>
2018-01-22 21:08:28 +00:00
David Benjamin c5388a1cd1 Add sde-linux64 to .gitignore.
Once the ACL issue is sorted out, this will mean we don't need to
re-download it each run.

BUG=180

Change-Id: I589d3944f8b6ab93d8fd279966484621ab825daa
Reviewed-on: https://boringssl-review.googlesource.com/16248
Commit-Queue: Steven Valdez <svaldez@google.com>
Reviewed-by: Steven Valdez <svaldez@google.com>
CQ-Verified: CQ bot account: commit-bot@chromium.org <commit-bot@chromium.org>
2017-05-12 14:53:07 +00:00
David Benjamin c4dfc6f4c8 Revert "Add sde-linux64 to .gitignore."
This reverts commit fee8559162.

Oops. Didn't mean to push that one without review.
2017-05-12 00:43:40 -04:00
David Benjamin fee8559162 Add sde-linux64 to .gitignore.
Once the ACL issue is sorted out, this will mean we don't need to
re-download it each run.

BUG=180

Change-Id: Iddcceafa3b359f8d5c7875887ecbaf21671c93f9
2017-05-12 00:42:44 -04:00
David Benjamin 1e5cb820de Add an option to build libFuzzer from DEPS.
The bots will need to get libFuzzer externally. As usual, borrow
Chromium's copy.

Change-Id: I5ed879bbc76188838adcf9d51855e76c481ace5b
Reviewed-on: https://boringssl-review.googlesource.com/16146
Reviewed-by: Steven Valdez <svaldez@google.com>
Commit-Queue: David Benjamin <davidben@google.com>
2017-05-10 22:12:32 +00:00
David Benjamin 0d1faefdde Also add util/bot/golang to .gitignore.
I missed this one.

Change-Id: I642fb5878568870743727579126f63246ff179c5
Reviewed-on: https://boringssl-review.googlesource.com/12580
Commit-Queue: David Benjamin <davidben@google.com>
Reviewed-by: Adam Langley <agl@google.com>
2016-12-02 23:39:35 +00:00
David Benjamin 65241cf555 Add util/bot files to .gitignore.
bot_update does a git clean -dff before each run, so we were
redownloading all the utilities on each run. This should make the bots
only download them when the change. (Chromium's setup is similar.)

Change-Id: I7eb83217761ceabe58b5480242a7df93d9bfaa52
Reviewed-on: https://boringssl-review.googlesource.com/12561
Commit-Queue: David Benjamin <davidben@google.com>
Reviewed-by: Adam Langley <agl@google.com>
2016-12-02 18:35:32 +00:00
Brian Smith 55a3cf4ad5 Fix documentation generation on Windows.
Previously doc/doc.css was a symlink to util/doc.css, but symlinks
don't work well on Windows. Now util/doc.css is copied to the output
directory when the documentation is generated.

Change-Id: I2c9f4fee4f4307cc3dd70c4be380b4551d5e9ab5
Reviewed-on: https://boringssl-review.googlesource.com/5677
Reviewed-by: David Benjamin <davidben@chromium.org>
Reviewed-by: Adam Langley <agl@google.com>
2015-08-19 00:45:42 +00:00
David Benjamin c898ce752f Add generated documentation to .gitignore
Change-Id: I5175ba1b316e381949c820211769fbd636fe645e
Reviewed-on: https://boringssl-review.googlesource.com/3024
Reviewed-by: Adam Langley <agl@google.com>
2015-01-26 18:37:55 +00:00
Adam Langley 95c29f3cd1 Inital import.
Initial fork from f2d678e6e89b6508147086610e985d4e8416e867 (1.0.2 beta).

(This change contains substantial changes from the original and
effectively starts a new history.)
2014-06-20 13:17:32 -07:00