2015-02-13 23:38:43 +00:00
|
|
|
# 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.
|
|
|
|
|
2015-03-13 00:13:41 +00:00
|
|
|
vars = {
|
|
|
|
'chromium_git': 'https://chromium.googlesource.com',
|
2017-10-12 18:04:53 +01:00
|
|
|
|
2017-10-12 19:38:36 +01:00
|
|
|
'checkout_clang': False,
|
2017-10-12 18:04:53 +01:00
|
|
|
'checkout_sde': False,
|
2018-06-22 22:36:15 +01:00
|
|
|
'checkout_nasm': False,
|
2018-08-09 21:33:07 +01:00
|
|
|
'checkout_libcxx': False,
|
2015-03-13 00:13:41 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
deps = {
|
2018-01-12 01:00:54 +00:00
|
|
|
'boringssl/util/bot/android_ndk': {
|
2018-09-13 18:29:42 +01:00
|
|
|
'url': Var('chromium_git') + '/android_ndk.git' + '@' + '4e2cea441bfd43f0863d14f57b1e1844260b9884',
|
2018-01-12 01:00:54 +00:00
|
|
|
'condition': 'checkout_android',
|
|
|
|
},
|
|
|
|
|
2018-08-09 19:40:34 +01:00
|
|
|
'boringssl/util/bot/android_tools': {
|
2019-04-04 00:36:09 +01:00
|
|
|
'url': Var('chromium_git') + '/android_tools.git' + '@' + '347a7c8078a009e98995985b7ab6ec6b35696dea',
|
2017-10-12 18:04:53 +01:00
|
|
|
'condition': 'checkout_android',
|
|
|
|
},
|
|
|
|
|
2015-03-13 00:13:41 +00:00
|
|
|
'boringssl/util/bot/gyp':
|
2017-10-12 19:22:54 +01:00
|
|
|
Var('chromium_git') + '/external/gyp.git' + '@' + 'd61a9397e668fa9843c4aa7da9e79460fe590bfb',
|
2015-02-13 23:38:43 +00:00
|
|
|
|
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] https://chromium.googlesource.com/chromium/src/+/c79bf2ea4cf65431dccb57cb2a44528c284645a1
[3] https://github.com/llvm-mirror/compiler-rt/blob/8ebc3668b07fc5cca6010265cd4795443f1c1bea/lib/fuzzer/CMakeLists.txt#L93-L107
https://github.com/llvm-mirror/compiler-rt/blob/8ebc3668b07fc5cca6010265cd4795443f1c1bea/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 21:13:04 +00:00
|
|
|
'boringssl/util/bot/libFuzzer': {
|
2019-04-04 00:36:09 +01:00
|
|
|
'url': Var('chromium_git') + '/chromium/llvm-project/compiler-rt/lib/fuzzer.git' +'@' + 'e847d8a9b47158695593d5693b0f69250472b229',
|
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] https://chromium.googlesource.com/chromium/src/+/c79bf2ea4cf65431dccb57cb2a44528c284645a1
[3] https://github.com/llvm-mirror/compiler-rt/blob/8ebc3668b07fc5cca6010265cd4795443f1c1bea/lib/fuzzer/CMakeLists.txt#L93-L107
https://github.com/llvm-mirror/compiler-rt/blob/8ebc3668b07fc5cca6010265cd4795443f1c1bea/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 21:13:04 +00:00
|
|
|
'condition': 'checkout_fuzzer',
|
|
|
|
},
|
|
|
|
|
2018-08-09 21:33:07 +01:00
|
|
|
# Update the following revisions from
|
2019-04-04 00:36:09 +01:00
|
|
|
# https://chromium.googlesource.com/chromium/src/+/master/buildtools/DEPS
|
2018-08-09 21:33:07 +01:00
|
|
|
'boringssl/util/bot/libcxx': {
|
2019-04-04 00:36:09 +01:00
|
|
|
'url': Var('chromium_git') + '/chromium/llvm-project/libcxx.git' + '@' + '955113db37563c8632e31ddcff2047845553d7ff',
|
2018-08-09 21:33:07 +01:00
|
|
|
'condition': 'checkout_libcxx',
|
|
|
|
},
|
|
|
|
'boringssl/util/bot/libcxxabi': {
|
2019-04-04 00:36:09 +01:00
|
|
|
'url': Var('chromium_git') + '/chromium/llvm-project/libcxxabi.git' + '@' + '0d529660e32d77d9111912d73f2c74fc5fa2a858',
|
2018-08-09 21:33:07 +01:00
|
|
|
'condition': 'checkout_libcxx',
|
|
|
|
},
|
2016-05-19 05:33:41 +01:00
|
|
|
}
|
|
|
|
|
2016-11-13 05:19:25 +00:00
|
|
|
recursedeps = [
|
2016-11-13 04:41:17 +00:00
|
|
|
# android_tools pulls in the NDK from a separate repository.
|
|
|
|
'boringssl/util/bot/android_tools',
|
|
|
|
]
|
|
|
|
|
2015-02-13 23:38:43 +00:00
|
|
|
hooks = [
|
|
|
|
{
|
|
|
|
'name': 'cmake_linux64',
|
|
|
|
'pattern': '.',
|
2017-10-12 18:04:53 +01:00
|
|
|
'condition': 'host_os == "linux"',
|
2015-02-13 23:38:43 +00:00
|
|
|
'action': [ 'download_from_google_storage',
|
|
|
|
'--no_resume',
|
|
|
|
'--platform=linux*',
|
|
|
|
'--no_auth',
|
|
|
|
'--bucket', 'chromium-tools',
|
|
|
|
'-s', 'boringssl/util/bot/cmake-linux64.tar.gz.sha1',
|
|
|
|
],
|
|
|
|
},
|
2017-10-12 18:04:53 +01:00
|
|
|
{
|
|
|
|
'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/',
|
|
|
|
],
|
|
|
|
},
|
2015-02-26 23:34:31 +00:00
|
|
|
{
|
|
|
|
'name': 'cmake_mac',
|
|
|
|
'pattern': '.',
|
2017-10-12 18:04:53 +01:00
|
|
|
'condition': 'host_os == "mac"',
|
2015-02-26 23:34:31 +00:00
|
|
|
'action': [ 'download_from_google_storage',
|
|
|
|
'--no_resume',
|
|
|
|
'--platform=darwin',
|
|
|
|
'--no_auth',
|
|
|
|
'--bucket', 'chromium-tools',
|
|
|
|
'-s', 'boringssl/util/bot/cmake-mac.tar.gz.sha1',
|
|
|
|
],
|
|
|
|
},
|
2017-10-12 18:04:53 +01:00
|
|
|
{
|
|
|
|
'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/',
|
|
|
|
],
|
|
|
|
},
|
2015-02-27 22:23:16 +00:00
|
|
|
{
|
|
|
|
'name': 'cmake_win32',
|
|
|
|
'pattern': '.',
|
2017-10-12 18:04:53 +01:00
|
|
|
'condition': 'host_os == "win"',
|
2015-02-27 22:23:16 +00:00
|
|
|
'action': [ 'download_from_google_storage',
|
|
|
|
'--no_resume',
|
|
|
|
'--platform=win32',
|
|
|
|
'--no_auth',
|
|
|
|
'--bucket', 'chromium-tools',
|
|
|
|
'-s', 'boringssl/util/bot/cmake-win32.zip.sha1',
|
|
|
|
],
|
|
|
|
},
|
2017-10-12 18:04:53 +01:00
|
|
|
{
|
|
|
|
'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/',
|
|
|
|
],
|
|
|
|
},
|
2015-02-27 22:23:16 +00:00
|
|
|
{
|
|
|
|
'name': 'perl_win32',
|
|
|
|
'pattern': '.',
|
2017-10-12 18:04:53 +01:00
|
|
|
'condition': 'host_os == "win"',
|
2015-02-27 22:23:16 +00:00
|
|
|
'action': [ 'download_from_google_storage',
|
|
|
|
'--no_resume',
|
|
|
|
'--platform=win32',
|
|
|
|
'--no_auth',
|
|
|
|
'--bucket', 'chromium-tools',
|
|
|
|
'-s', 'boringssl/util/bot/perl-win32.zip.sha1',
|
|
|
|
],
|
|
|
|
},
|
2017-10-12 18:04:53 +01:00
|
|
|
{
|
|
|
|
'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/',
|
|
|
|
],
|
|
|
|
},
|
2015-02-27 22:23:16 +00:00
|
|
|
{
|
|
|
|
'name': 'yasm_win32',
|
|
|
|
'pattern': '.',
|
2018-06-22 22:36:15 +01:00
|
|
|
'condition': 'host_os == "win" and not checkout_nasm',
|
2015-02-27 22:23:16 +00:00
|
|
|
'action': [ 'download_from_google_storage',
|
|
|
|
'--no_resume',
|
|
|
|
'--platform=win32',
|
|
|
|
'--no_auth',
|
|
|
|
'--bucket', 'chromium-tools',
|
|
|
|
'-s', 'boringssl/util/bot/yasm-win32.exe.sha1',
|
2018-06-22 22:36:15 +01:00
|
|
|
],
|
|
|
|
},
|
|
|
|
{
|
|
|
|
'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',
|
2015-02-27 22:23:16 +00:00
|
|
|
],
|
|
|
|
},
|
2015-03-13 00:13:41 +00:00
|
|
|
{
|
|
|
|
'name': 'win_toolchain',
|
|
|
|
'pattern': '.',
|
2017-10-12 18:04:53 +01:00
|
|
|
'condition': 'host_os == "win"',
|
2015-03-13 00:13:41 +00:00
|
|
|
'action': [ 'python',
|
|
|
|
'boringssl/util/bot/vs_toolchain.py',
|
|
|
|
'update',
|
|
|
|
],
|
|
|
|
},
|
2015-04-18 20:38:27 +01:00
|
|
|
{
|
|
|
|
'name': 'clang',
|
|
|
|
'pattern': '.',
|
2017-10-12 18:04:53 +01:00
|
|
|
'condition': 'checkout_clang',
|
2015-04-18 20:38:27 +01:00
|
|
|
'action': [ 'python',
|
|
|
|
'boringssl/util/bot/update_clang.py',
|
|
|
|
],
|
|
|
|
},
|
2015-02-13 23:38:43 +00:00
|
|
|
{
|
2017-10-12 18:04:53 +01:00
|
|
|
'name': 'sde_linux64',
|
2015-02-26 23:34:31 +00:00
|
|
|
'pattern': '.',
|
2017-10-12 18:04:53 +01:00
|
|
|
'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'
|
2015-02-27 22:23:16 +00:00
|
|
|
],
|
|
|
|
},
|
|
|
|
{
|
2017-10-12 18:04:53 +01:00
|
|
|
'name': 'sde_linux64_extract',
|
2015-02-27 22:23:16 +00:00
|
|
|
'pattern': '.',
|
2017-10-12 18:04:53 +01:00
|
|
|
'condition': 'checkout_sde and host_os == "linux"',
|
2015-02-27 22:23:16 +00:00
|
|
|
'action': [ 'python',
|
|
|
|
'boringssl/util/bot/extract.py',
|
2017-10-12 18:04:53 +01:00
|
|
|
'boringssl/util/bot/sde-linux64.tar.bz2',
|
|
|
|
'boringssl/util/bot/sde-linux64/',
|
2015-02-27 22:23:16 +00:00
|
|
|
],
|
|
|
|
},
|
2019-01-04 00:24:17 +00:00
|
|
|
{
|
|
|
|
'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/',
|
|
|
|
],
|
|
|
|
},
|
2015-02-13 23:38:43 +00:00
|
|
|
]
|