This directory consumes tools from other repositories for use on the
bots. To update to newer revisions, follow these instructions:

DEPS: Set all revisions to those used in Chromium, found at
   https://chromium.googlesource.com/chromium/src/+/master/DEPS (Search for the
   corresponding repository name.)

go/bootstrap.py: Set TOOLSET_VERSION to the latest release of Go, found at
    https://golang.org/dl/.

update_clang.py: Set CLANG_REVISION and CLANG_SUB_REVISION to the values used in
    Chromium, found at
    https://chromium.googlesource.com/chromium/src/+/master/tools/clang/scripts/update.py

vs_toolchain.py: Set the hash in TOOLCHAIN_HASH to the toolchain
    used in Chromium, found at _GetDesiredVsToolchainHashes
    https://chromium.googlesource.com/chromium/src/+/master/build/vs_toolchain.py
    This may require taking other updates to that file. If updating MSVS
    version, also update TOOLCHAIN_VERSION accordingly.

The .sha1 files correspond to files downloaded from Google Cloud Storage. To
update, place the updated files in their intended location and run:

    upload_to_google_storage.py -b chromium-tools FILE

cmake-linux64.tar.gz: Download the latest CMake source tarball, found at
    https://cmake.org/download/. Build it with:

        ./bootstrap --prefix=$PWD/cmake-linux64 && make && make install
        tar -czf cmake-linux64.tar.gz cmake-linux64/

    The current revision was built against cmake-3.5.0.tar.gz.

cmake-mac.tar.gz: Follow the same instructions as above on a Mac, but replace
    cmake-linux64 with cmake-mac.

    The current revision was built against cmake-3.5.0.tar.gz.

cmake-win32.zip: Update to the latest prebuilt release of CMake, found at
    https://cmake.org/download/. Use the file labeled "Windows ZIP". The
    download will be named cmake-VERSION-win32-x86.zip.

    The current revision is cmake-3.5.0-win32-x86.zip.

perl-win32.zip: Update to the latest 32-bit prebuilt "PortableZip" edition of
    Strawberry Perl, found at http://strawberryperl.com/releases.html. The
    download will be named strawberry-perl-VERSION-32bit-portable.zip.

    The current revision is strawberry-perl-5.22.1.2-32bit-portable.zip.

yasm-win32.exe: Update to the appropriate release of Yasm. Use the same version
    as Chromium, found at
    https://chromium.googlesource.com/chromium/src/+/master/third_party/yasm/README.chromium
    Use the release at http://yasm.tortall.net/Download.html labeled
    "Win32 .exe". The download will be named yasm-VERSION-win32.exe.

    The current revision is yasm-1.3.0-win32.exe.

Finally, update sde-linux64.tar.bz2 by downloading the latet release from intel
at
https://software.intel.com/en-us/articles/intel-software-development-emulator,
but upload it with the following command. (Note the bucket is different.)

    upload_to_google_storage.py -b chrome-boringssl-sde sde-linux64.tar.bz2

The current revision is sde-external-8.5.0-2017-06-08-lin.tar.bz2.
