This repository contains the files generated by boringssl for its build.
It also contains this file and the file BUILD.gn.

The generated source is for boringssl from:

https://boringssl.googlesource.com/boringssl.git

at revision:

189270cd190267f5bd60cfe8f8ce7a61d07ba6f4

To roll boringssl forward:
- Update the hash for boringssl_rev in the DEPS file
- gclient sync
- In this directory: git checkout -b roll-boringssl-gen origin/master
- Remove all files in this directory except src/, README, and BUILD.gn
- Run the script '$ python src/util/generate_build_files.py gn'
- Build the Dart SDK. Updates to BUILD.gn may be needed.
- git commit -a -m "Roll generated boringssl files to $HASH"
- Upload for code review: git push origin HEAD:refs/for/master
- Land it Gerrit after lgtm.
- Update boringssl_gen_rev in the DEPS file
- Upload changes to the DEPS file for code review, and land.
