280 lines
8.0 KiB
Python
280 lines
8.0 KiB
Python
# Copyright 2014 The Crashpad Authors
|
|
#
|
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
# you may not use this file except in compliance with the License.
|
|
# You may obtain a copy of the License at
|
|
#
|
|
# http://www.apache.org/licenses/LICENSE-2.0
|
|
#
|
|
# Unless required by applicable law or agreed to in writing, software
|
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
# See the License for the specific language governing permissions and
|
|
# limitations under the License.
|
|
|
|
vars = {
|
|
'chromium_git': 'https://chromium.googlesource.com',
|
|
'gn_version': 'git_revision:5e19d2fb166fbd4f6f32147fbb2f497091a54ad8',
|
|
# ninja CIPD package version.
|
|
# https://chrome-infra-packages.appspot.com/p/infra/3pp/tools/ninja
|
|
'ninja_version': 'version:2@1.8.2.chromium.3',
|
|
'pull_linux_clang': False,
|
|
'pull_win_toolchain': False,
|
|
# Controls whether crashpad/build/ios/setup-ios-gn.py is run as part of
|
|
# gclient hooks. It is enabled by default for developer's convenience. It can
|
|
# be disabled with custom_vars (done automatically on the bots).
|
|
'run_setup_ios_gn': True,
|
|
}
|
|
|
|
deps = {
|
|
'buildtools':
|
|
Var('chromium_git') + '/chromium/src/buildtools.git@' +
|
|
'8b16338d17cd71b04a6ba28da7322ab6739892c2',
|
|
'buildtools/clang_format/script':
|
|
Var('chromium_git') +
|
|
'/external/github.com/llvm/llvm-project/clang/tools/clang-format.git@' +
|
|
'c912837e0d82b5ca4b6e790b573b3956d3744c1c',
|
|
'crashpad/third_party/edo/edo': {
|
|
'url': Var('chromium_git') + '/external/github.com/google/eDistantObject.git@' +
|
|
'727e556705278598fce683522beedbb9946bfda0',
|
|
'condition': 'checkout_ios',
|
|
},
|
|
'crashpad/third_party/googletest/googletest':
|
|
Var('chromium_git') + '/external/github.com/google/googletest@' +
|
|
'af29db7ec28d6df1c7f0f745186884091e602e07',
|
|
'crashpad/third_party/lss/lss':
|
|
Var('chromium_git') + '/linux-syscall-support.git@' +
|
|
'9719c1e1e676814c456b55f5f070eabad6709d31',
|
|
'crashpad/third_party/mini_chromium/mini_chromium':
|
|
Var('chromium_git') + '/chromium/mini_chromium@' +
|
|
'10f39a97650a0fe0b305415c15434443c0690a20',
|
|
'crashpad/third_party/libfuzzer/src':
|
|
Var('chromium_git') + '/chromium/llvm-project/compiler-rt/lib/fuzzer.git@' +
|
|
'fda403cf93ecb8792cb1d061564d89a6553ca020',
|
|
'crashpad/third_party/zlib/zlib':
|
|
Var('chromium_git') + '/chromium/src/third_party/zlib@' +
|
|
'13dc246a58e4b72104d35f9b1809af95221ebda7',
|
|
|
|
# CIPD packages.
|
|
'buildtools/linux64': {
|
|
'packages': [
|
|
{
|
|
'package': 'gn/gn/linux-${{arch}}',
|
|
'version': Var('gn_version'),
|
|
}
|
|
],
|
|
'dep_type': 'cipd',
|
|
'condition': 'host_os == "linux"',
|
|
},
|
|
'buildtools/mac': {
|
|
'packages': [
|
|
{
|
|
'package': 'gn/gn/mac-${{arch}}',
|
|
'version': Var('gn_version'),
|
|
}
|
|
],
|
|
'dep_type': 'cipd',
|
|
'condition': 'host_os == "mac"',
|
|
},
|
|
'buildtools/win': {
|
|
'packages': [
|
|
{
|
|
'package': 'gn/gn/windows-amd64',
|
|
'version': Var('gn_version'),
|
|
}
|
|
],
|
|
'dep_type': 'cipd',
|
|
'condition': 'host_os == "win"',
|
|
},
|
|
'crashpad/third_party/linux/clang/linux-amd64': {
|
|
'packages': [
|
|
{
|
|
'package': 'fuchsia/clang/linux-amd64',
|
|
'version': 'goma',
|
|
},
|
|
],
|
|
'condition': 'checkout_linux and pull_linux_clang',
|
|
'dep_type': 'cipd'
|
|
},
|
|
'crashpad/third_party/fuchsia/clang/mac-amd64': {
|
|
'packages': [
|
|
{
|
|
'package': 'fuchsia/clang/mac-amd64',
|
|
'version': 'goma',
|
|
},
|
|
],
|
|
'condition': 'checkout_fuchsia and host_os == "mac"',
|
|
'dep_type': 'cipd'
|
|
},
|
|
'crashpad/third_party/fuchsia/clang/linux-amd64': {
|
|
'packages': [
|
|
{
|
|
'package': 'fuchsia/clang/linux-amd64',
|
|
'version': 'goma',
|
|
},
|
|
],
|
|
'condition': 'checkout_fuchsia and host_os == "linux"',
|
|
'dep_type': 'cipd'
|
|
},
|
|
'crashpad/third_party/fuchsia-gn-sdk': {
|
|
'url': Var('chromium_git') + '/chromium/src/third_party/fuchsia-gn-sdk.git@' +
|
|
'0d6902558d92fe3d49ba9a8f638ddea829be595b',
|
|
'condition': 'checkout_fuchsia',
|
|
},
|
|
'crashpad/third_party/fuchsia/sdk/mac-amd64': {
|
|
'packages': [
|
|
{
|
|
'package': 'fuchsia/sdk/core/mac-amd64',
|
|
'version': 'latest'
|
|
},
|
|
],
|
|
'condition': 'checkout_fuchsia and host_os == "mac"',
|
|
'dep_type': 'cipd'
|
|
},
|
|
'crashpad/third_party/fuchsia/sdk/linux-amd64': {
|
|
'packages': [
|
|
{
|
|
'package': 'fuchsia/sdk/core/linux-amd64',
|
|
'version': 'latest'
|
|
},
|
|
],
|
|
'condition': 'checkout_fuchsia and host_os == "linux"',
|
|
'dep_type': 'cipd'
|
|
},
|
|
# depot_tools/ninja wrapper calls third_party/ninja/{ninja, ninja.exe}.
|
|
# crashpad/third_party/ninja/ninja is another wrapper to call linux ninja
|
|
# or mac ninja.
|
|
# This allows crashpad developers to work for multiple platforms on the same
|
|
# machine.
|
|
'crashpad/third_party/ninja': {
|
|
'packages': [
|
|
{
|
|
'package': 'infra/3pp/tools/ninja/${{platform}}',
|
|
'version': Var('ninja_version'),
|
|
}
|
|
],
|
|
'condition': 'host_os == "win"',
|
|
'dep_type': 'cipd',
|
|
},
|
|
'crashpad/third_party/ninja/linux': {
|
|
'packages': [
|
|
{
|
|
'package': 'infra/3pp/tools/ninja/${{platform}}',
|
|
'version': Var('ninja_version'),
|
|
}
|
|
],
|
|
'condition': 'host_os == "linux"',
|
|
'dep_type': 'cipd',
|
|
},
|
|
'crashpad/third_party/ninja/mac-amd64': {
|
|
'packages': [
|
|
{
|
|
'package': 'infra/3pp/tools/ninja/mac-amd64',
|
|
'version': Var('ninja_version'),
|
|
}
|
|
],
|
|
'condition': 'host_os == "mac" and host_cpu == "x64"',
|
|
'dep_type': 'cipd',
|
|
},
|
|
'crashpad/third_party/ninja/mac-arm64': {
|
|
'packages': [
|
|
{
|
|
'package': 'infra/3pp/tools/ninja/mac-arm64',
|
|
'version': Var('ninja_version'),
|
|
}
|
|
],
|
|
'condition': 'host_os == "mac" and host_cpu == "arm64"',
|
|
'dep_type': 'cipd',
|
|
},
|
|
'crashpad/third_party/win/toolchain': {
|
|
# This package is only updated when the solution in .gclient includes an
|
|
# entry like:
|
|
# "custom_vars": { "pull_win_toolchain": True }
|
|
# This is because the contained bits are not redistributable.
|
|
'packages': [
|
|
{
|
|
'package': 'chrome_internal/third_party/sdk/windows',
|
|
'version': 'uploaded:2021-04-28'
|
|
},
|
|
],
|
|
'condition': 'checkout_win and pull_win_toolchain',
|
|
'dep_type': 'cipd'
|
|
},
|
|
}
|
|
|
|
hooks = [
|
|
{
|
|
'name': 'clang_format_mac',
|
|
'pattern': '.',
|
|
'condition': 'host_os == "mac"',
|
|
'action': [
|
|
'download_from_google_storage',
|
|
'--no_resume',
|
|
'--no_auth',
|
|
'--bucket=chromium-clang-format',
|
|
'--sha1_file',
|
|
'buildtools/mac/clang-format.{host_cpu}.sha1',
|
|
'--output',
|
|
'buildtools/mac/clang-format',
|
|
],
|
|
},
|
|
{
|
|
'name': 'clang_format_linux',
|
|
'pattern': '.',
|
|
'condition': 'host_os == "linux"',
|
|
'action': [
|
|
'download_from_google_storage',
|
|
'--no_resume',
|
|
'--no_auth',
|
|
'--bucket=chromium-clang-format',
|
|
'--sha1_file',
|
|
'buildtools/linux64/clang-format.sha1',
|
|
],
|
|
},
|
|
{
|
|
'name': 'clang_format_win',
|
|
'pattern': '.',
|
|
'condition': 'host_os == "win"',
|
|
'action': [
|
|
'download_from_google_storage',
|
|
'--no_resume',
|
|
'--no_auth',
|
|
'--bucket=chromium-clang-format',
|
|
'--sha1_file',
|
|
'buildtools/win/clang-format.exe.sha1',
|
|
],
|
|
},
|
|
{
|
|
# If using a local clang ("pull_linux_clang" above), also pull down a
|
|
# sysroot.
|
|
'name': 'sysroot_linux',
|
|
'pattern': '.',
|
|
'condition': 'checkout_linux and pull_linux_clang',
|
|
'action': [
|
|
'crashpad/build/install_linux_sysroot.py',
|
|
],
|
|
},
|
|
{
|
|
'name': 'Generate Fuchsia Build Definitions',
|
|
'pattern': '.',
|
|
'condition': 'checkout_fuchsia',
|
|
'action': [
|
|
'python3',
|
|
'crashpad/build/fuchsia/gen_build_defs.py'
|
|
],
|
|
},
|
|
{
|
|
'name': 'setup_gn_ios',
|
|
'pattern': '.',
|
|
'condition': 'run_setup_ios_gn and checkout_ios',
|
|
'action': [
|
|
'python3',
|
|
'crashpad/build/ios/setup_ios_gn.py'
|
|
],
|
|
},
|
|
]
|
|
|
|
recursedeps = [
|
|
'buildtools',
|
|
]
|