boringssl/util/bot/DEPS
David Benjamin 6c597be1c6 Update tools.
Unfortunately, this requires partially reverting
https://boringssl-review.googlesource.com/31324. This is a mess.

While clang proper includes a fuzzer driver, Chromium doesn't use it.
Chromium builds exclusively with fuzzer-no-link and links to its own
copy of the fuzzer runtime[1]. As of [2], Chromium's clang (which we use
on bots) no longer includes the driver, so we must mimic them.

However, Chromium's setup is somewhat questionable because
fuzzer-no-link pulls in libclang_rt.fuzzer_no_main which still includes
most of libclang_rt.fuzzer, just not the one main function[3]. It
appears Chromium is actually linking two copies of
libclang_rt.fuzzer_no_main. Hopefully this mostly works out as Chromium's
clang and libFuzzer should be relatively aligned, but it's not a good
assumption for our build, which can take other Clangs too.

Thus, if you pass -DFUZZ=1 as-is, we will assume you are using a
"normal" Clang with all its relevant runtimes intact. If, however, you
are using Chromium clang, you must drop the matching libFuzzer where the
bots expected it and build with -DLIBFUZZER_FROM_DEPS=1.

This involves no changes to the bots because we never actually unwound
all the LIBFUZZER_FROM_DEPS bits before.

[1] https://cs.chromium.org/chromium/src/testing/libfuzzer/BUILD.gn?rcl=d21c49585f262e851e2984f96f52905782706325&l=14
[2] c79bf2ea4c
[3] 8ebc3668b0/lib/fuzzer/CMakeLists.txt (L93-L107)
    8ebc3668b0/lib/fuzzer/FuzzerMain.cpp

Change-Id: I946b3c821c3d7e6def7e07f1381f58241611ba3d
Reviewed-on: https://boringssl-review.googlesource.com/c/34184
Commit-Queue: David Benjamin <davidben@google.com>
Reviewed-by: Adam Langley <agl@google.com>
2019-01-07 22:39:55 +00:00

232 lines
7.1 KiB
Python

# Copyright (c) 2015, Google Inc.
#
# Permission to use, copy, modify, and/or distribute this software for any
# purpose with or without fee is hereby granted, provided that the above
# copyright notice and this permission notice appear in all copies.
#
# THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
# WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
# MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
# SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
# WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
# OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
# CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
vars = {
'chromium_git': 'https://chromium.googlesource.com',
'checkout_clang': False,
'checkout_sde': False,
'checkout_nasm': False,
'checkout_libcxx': False,
}
deps = {
'boringssl/util/bot/android_ndk': {
'url': Var('chromium_git') + '/android_ndk.git' + '@' + '4e2cea441bfd43f0863d14f57b1e1844260b9884',
'condition': 'checkout_android',
},
'boringssl/util/bot/android_tools': {
'url': Var('chromium_git') + '/android_tools.git' + '@' + 'e958d6ea74442d4e0849bb8a018d215a0e78981d',
'condition': 'checkout_android',
},
'boringssl/util/bot/gyp':
Var('chromium_git') + '/external/gyp.git' + '@' + 'd61a9397e668fa9843c4aa7da9e79460fe590bfb',
'boringssl/util/bot/libFuzzer': {
'url': Var('chromium_git') + '/chromium/llvm-project/compiler-rt/lib/fuzzer.git' +'@' + '2a53098584c48af50aec3fb51febe5e651489774',
'condition': 'checkout_fuzzer',
},
# Update the following revisions from
# https://chromium.googlesource.com/chromium/buildtools/+/master/DEPS
'boringssl/util/bot/libcxx': {
'url': Var('chromium_git') + '/chromium/llvm-project/libcxx.git' + '@' + 'e713cc0acf1ae8b82f451bf58ebef67a46ceddfb',
'condition': 'checkout_libcxx',
},
'boringssl/util/bot/libcxxabi': {
'url': Var('chromium_git') + '/chromium/llvm-project/libcxxabi.git' + '@' + '307bb62985575b2e3216a8cfd7e122e0574f33a9',
'condition': 'checkout_libcxx',
},
}
recursedeps = [
# android_tools pulls in the NDK from a separate repository.
'boringssl/util/bot/android_tools',
]
hooks = [
{
'name': 'cmake_linux64',
'pattern': '.',
'condition': 'host_os == "linux"',
'action': [ 'download_from_google_storage',
'--no_resume',
'--platform=linux*',
'--no_auth',
'--bucket', 'chromium-tools',
'-s', 'boringssl/util/bot/cmake-linux64.tar.gz.sha1',
],
},
{
'name': 'cmake_linux64_extract',
'pattern': '.',
'condition': 'host_os == "linux"',
'action': [ 'python',
'boringssl/util/bot/extract.py',
'boringssl/util/bot/cmake-linux64.tar.gz',
'boringssl/util/bot/cmake-linux64/',
],
},
{
'name': 'cmake_mac',
'pattern': '.',
'condition': 'host_os == "mac"',
'action': [ 'download_from_google_storage',
'--no_resume',
'--platform=darwin',
'--no_auth',
'--bucket', 'chromium-tools',
'-s', 'boringssl/util/bot/cmake-mac.tar.gz.sha1',
],
},
{
'name': 'cmake_mac_extract',
'pattern': '.',
'condition': 'host_os == "mac"',
'action': [ 'python',
'boringssl/util/bot/extract.py',
'boringssl/util/bot/cmake-mac.tar.gz',
'boringssl/util/bot/cmake-mac/',
],
},
{
'name': 'cmake_win32',
'pattern': '.',
'condition': 'host_os == "win"',
'action': [ 'download_from_google_storage',
'--no_resume',
'--platform=win32',
'--no_auth',
'--bucket', 'chromium-tools',
'-s', 'boringssl/util/bot/cmake-win32.zip.sha1',
],
},
{
'name': 'cmake_win32_extract',
'pattern': '.',
'condition': 'host_os == "win"',
'action': [ 'python',
'boringssl/util/bot/extract.py',
'boringssl/util/bot/cmake-win32.zip',
'boringssl/util/bot/cmake-win32/',
],
},
{
'name': 'perl_win32',
'pattern': '.',
'condition': 'host_os == "win"',
'action': [ 'download_from_google_storage',
'--no_resume',
'--platform=win32',
'--no_auth',
'--bucket', 'chromium-tools',
'-s', 'boringssl/util/bot/perl-win32.zip.sha1',
],
},
{
'name': 'perl_win32_extract',
'pattern': '.',
'condition': 'host_os == "win"',
'action': [ 'python',
'boringssl/util/bot/extract.py',
'--no-prefix',
'boringssl/util/bot/perl-win32.zip',
'boringssl/util/bot/perl-win32/',
],
},
{
'name': 'yasm_win32',
'pattern': '.',
'condition': 'host_os == "win" and not checkout_nasm',
'action': [ 'download_from_google_storage',
'--no_resume',
'--platform=win32',
'--no_auth',
'--bucket', 'chromium-tools',
'-s', 'boringssl/util/bot/yasm-win32.exe.sha1',
],
},
{
'name': 'nasm_win32',
'pattern': '.',
'condition': 'host_os == "win" and checkout_nasm',
'action': [ 'download_from_google_storage',
'--no_resume',
'--platform=win32',
'--no_auth',
'--bucket', 'chromium-tools',
'-s', 'boringssl/util/bot/nasm-win32.exe.sha1',
],
},
{
'name': 'win_toolchain',
'pattern': '.',
'condition': 'host_os == "win"',
'action': [ 'python',
'boringssl/util/bot/vs_toolchain.py',
'update',
],
},
{
'name': 'clang',
'pattern': '.',
'condition': 'checkout_clang',
'action': [ 'python',
'boringssl/util/bot/update_clang.py',
],
},
{
'name': 'sde_linux64',
'pattern': '.',
'condition': 'checkout_sde and host_os == "linux"',
'action': [ 'download_from_google_storage',
'--no_resume',
'--bucket', 'chrome-boringssl-sde',
'-s', 'boringssl/util/bot/sde-linux64.tar.bz2.sha1'
],
},
{
'name': 'sde_linux64_extract',
'pattern': '.',
'condition': 'checkout_sde and host_os == "linux"',
'action': [ 'python',
'boringssl/util/bot/extract.py',
'boringssl/util/bot/sde-linux64.tar.bz2',
'boringssl/util/bot/sde-linux64/',
],
},
{
'name': 'sde_win32',
'pattern': '.',
'condition': 'checkout_sde and host_os == "win"',
'action': [ 'download_from_google_storage',
'--no_resume',
'--bucket', 'chrome-boringssl-sde',
'-s', 'boringssl/util/bot/sde-win32.tar.bz2.sha1'
],
},
{
'name': 'sde_win32_extract',
'pattern': '.',
'condition': 'checkout_sde and host_os == "win"',
'action': [ 'python',
'boringssl/util/bot/extract.py',
'boringssl/util/bot/sde-win32.tar.bz2',
'boringssl/util/bot/sde-win32/',
],
},
]