1*3f982cf4SFabien Sanglard# This file is used to manage the dependencies of the Open Screen repo. It is 2*3f982cf4SFabien Sanglard# used by gclient to determine what version of each dependency to check out. 3*3f982cf4SFabien Sanglard# 4*3f982cf4SFabien Sanglard# For more information, please refer to the official documentation: 5*3f982cf4SFabien Sanglard# https://sites.google.com/a/chromium.org/dev/developers/how-tos/get-the-code 6*3f982cf4SFabien Sanglard# 7*3f982cf4SFabien Sanglard# When adding a new dependency, please update the top-level .gitignore file 8*3f982cf4SFabien Sanglard# to list the dependency's destination directory. 9*3f982cf4SFabien Sanglard 10*3f982cf4SFabien Sanglarduse_relative_paths = True 11*3f982cf4SFabien Sanglard 12*3f982cf4SFabien Sanglardvars = { 13*3f982cf4SFabien Sanglard 'boringssl_git': 'https://boringssl.googlesource.com', 14*3f982cf4SFabien Sanglard 'chromium_git': 'https://chromium.googlesource.com', 15*3f982cf4SFabien Sanglard 'quiche_git': 'https://quiche.googlesource.com', 16*3f982cf4SFabien Sanglard 'aomedia_git': 'https://aomedia.googlesource.com', 17*3f982cf4SFabien Sanglard 18*3f982cf4SFabien Sanglard # NOTE: we should only reference GitHub directly for dependencies toggled 19*3f982cf4SFabien Sanglard # with the "not build_with_chromium" condition. 20*3f982cf4SFabien Sanglard 'github': 'https://github.com', 21*3f982cf4SFabien Sanglard 22*3f982cf4SFabien Sanglard # NOTE: Strangely enough, this will be overridden by any _parent_ DEPS, so 23*3f982cf4SFabien Sanglard # in Chromium it will correctly be True. 24*3f982cf4SFabien Sanglard 'build_with_chromium': False, 25*3f982cf4SFabien Sanglard 26*3f982cf4SFabien Sanglard 'checkout_chromium_quic_boringssl': False, 27*3f982cf4SFabien Sanglard 28*3f982cf4SFabien Sanglard # Needed to download additional clang binaries for processing coverage data 29*3f982cf4SFabien Sanglard # (from binaries with GN arg `use_coverage=true`). 30*3f982cf4SFabien Sanglard # 31*3f982cf4SFabien Sanglard # TODO(issuetracker.google.com/155195126): Change this to False and update 32*3f982cf4SFabien Sanglard # buildbot to call tools/download-clang-update-script.py instead. 33*3f982cf4SFabien Sanglard 'checkout_clang_coverage_tools': True, 34*3f982cf4SFabien Sanglard 35*3f982cf4SFabien Sanglard # GN CIPD package version. 36*3f982cf4SFabien Sanglard 'gn_version': 'git_revision:39a87c0b36310bdf06b692c098f199a0d97fc810', 37*3f982cf4SFabien Sanglard 'clang_format_revision': '99803d74e35962f63a775f29477882afd4d57d94', 38*3f982cf4SFabien Sanglard} 39*3f982cf4SFabien Sanglard 40*3f982cf4SFabien Sanglarddeps = { 41*3f982cf4SFabien Sanglard # NOTE: This commit hash here references a repository/branch that is a mirror 42*3f982cf4SFabien Sanglard # of the commits to the buildtools directory in the Chromium repository. This 43*3f982cf4SFabien Sanglard # should be regularly updated with the tip of the MIRRORED master branch, 44*3f982cf4SFabien Sanglard # found here: 45*3f982cf4SFabien Sanglard # https://chromium.googlesource.com/chromium/src/buildtools/+/refs/heads/main. 46*3f982cf4SFabien Sanglard 'buildtools': { 47*3f982cf4SFabien Sanglard 'url': Var('chromium_git') + '/chromium/src/buildtools' + 48*3f982cf4SFabien Sanglard '@' + 'fba2905150c974240f14aa5334c3e5c93f873032', 49*3f982cf4SFabien Sanglard 'condition': 'not build_with_chromium', 50*3f982cf4SFabien Sanglard }, 51*3f982cf4SFabien Sanglard 'buildtools/clang_format/script': { 52*3f982cf4SFabien Sanglard 'url': Var('chromium_git') + 53*3f982cf4SFabien Sanglard '/external/github.com/llvm/llvm-project/clang/tools/clang-format.git' + 54*3f982cf4SFabien Sanglard '@' + Var('clang_format_revision'), 55*3f982cf4SFabien Sanglard 'condition': 'not build_with_chromium', 56*3f982cf4SFabien Sanglard }, 57*3f982cf4SFabien Sanglard 'buildtools/linux64': { 58*3f982cf4SFabien Sanglard 'packages': [ 59*3f982cf4SFabien Sanglard { 60*3f982cf4SFabien Sanglard 'package': 'gn/gn/linux-amd64', 61*3f982cf4SFabien Sanglard 'version': Var('gn_version'), 62*3f982cf4SFabien Sanglard } 63*3f982cf4SFabien Sanglard ], 64*3f982cf4SFabien Sanglard 'dep_type': 'cipd', 65*3f982cf4SFabien Sanglard 'condition': 'host_os == "linux" and not build_with_chromium', 66*3f982cf4SFabien Sanglard }, 67*3f982cf4SFabien Sanglard 'buildtools/mac': { 68*3f982cf4SFabien Sanglard 'packages': [ 69*3f982cf4SFabien Sanglard { 70*3f982cf4SFabien Sanglard 'package': 'gn/gn/mac-${{arch}}', 71*3f982cf4SFabien Sanglard 'version': Var('gn_version'), 72*3f982cf4SFabien Sanglard } 73*3f982cf4SFabien Sanglard ], 74*3f982cf4SFabien Sanglard 'dep_type': 'cipd', 75*3f982cf4SFabien Sanglard 'condition': 'host_os == "mac" and not build_with_chromium', 76*3f982cf4SFabien Sanglard }, 77*3f982cf4SFabien Sanglard 'third_party/protobuf/src': { 78*3f982cf4SFabien Sanglard 'url': Var('chromium_git') + 79*3f982cf4SFabien Sanglard '/external/github.com/protocolbuffers/protobuf.git' + 80*3f982cf4SFabien Sanglard '@' + '909a0f36a10075c4b4bc70fdee2c7e32dd612a72', # version 3.17.3 81*3f982cf4SFabien Sanglard 'condition': 'not build_with_chromium', 82*3f982cf4SFabien Sanglard }, 83*3f982cf4SFabien Sanglard 84*3f982cf4SFabien Sanglard 'third_party/libprotobuf-mutator/src': { 85*3f982cf4SFabien Sanglard 'url': Var('chromium_git') + 86*3f982cf4SFabien Sanglard '/external/github.com/google/libprotobuf-mutator.git' + 87*3f982cf4SFabien Sanglard '@' + '8942a9ba43d8bb196230c321d46d6a137957a719', 88*3f982cf4SFabien Sanglard 'condition': 'not build_with_chromium', 89*3f982cf4SFabien Sanglard }, 90*3f982cf4SFabien Sanglard 91*3f982cf4SFabien Sanglard 'third_party/zlib/src': { 92*3f982cf4SFabien Sanglard 'url': Var('github') + 93*3f982cf4SFabien Sanglard '/madler/zlib.git' + 94*3f982cf4SFabien Sanglard '@' + 'cacf7f1d4e3d44d871b605da3b647f07d718623f', # version 1.2.11 95*3f982cf4SFabien Sanglard 'condition': 'not build_with_chromium', 96*3f982cf4SFabien Sanglard }, 97*3f982cf4SFabien Sanglard 98*3f982cf4SFabien Sanglard 'third_party/jsoncpp/src': { 99*3f982cf4SFabien Sanglard 'url': Var('chromium_git') + 100*3f982cf4SFabien Sanglard '/external/github.com/open-source-parsers/jsoncpp.git' + 101*3f982cf4SFabien Sanglard '@' + '9059f5cad030ba11d37818847443a53918c327b1', # version 1.9.4 102*3f982cf4SFabien Sanglard 'condition': 'not build_with_chromium', 103*3f982cf4SFabien Sanglard }, 104*3f982cf4SFabien Sanglard 105*3f982cf4SFabien Sanglard 'third_party/googletest/src': { 106*3f982cf4SFabien Sanglard 'url': Var('chromium_git') + 107*3f982cf4SFabien Sanglard '/external/github.com/google/googletest.git' + 108*3f982cf4SFabien Sanglard '@' + '36d8eb532022d3b543bf55aa8ffa01b6e9f03490', 109*3f982cf4SFabien Sanglard 'condition': 'not build_with_chromium', 110*3f982cf4SFabien Sanglard }, 111*3f982cf4SFabien Sanglard 112*3f982cf4SFabien Sanglard # Note about updating BoringSSL: after changing this hash, run the update 113*3f982cf4SFabien Sanglard # script in BoringSSL's util folder for generating build files from the 114*3f982cf4SFabien Sanglard # <openscreen src-dir>/third_party/boringssl directory: 115*3f982cf4SFabien Sanglard # python ./src/util/generate_build_files.py gn 116*3f982cf4SFabien Sanglard 'third_party/boringssl/src': { 117*3f982cf4SFabien Sanglard 'url' : Var('boringssl_git') + '/boringssl.git' + 118*3f982cf4SFabien Sanglard '@' + 'f6bd54efbcafcf4625ce99b5f702dc4850b0ca50', 119*3f982cf4SFabien Sanglard 'condition': 'not build_with_chromium', 120*3f982cf4SFabien Sanglard }, 121*3f982cf4SFabien Sanglard 122*3f982cf4SFabien Sanglard 'third_party/chromium_quic/src': { 123*3f982cf4SFabien Sanglard 'url': Var('chromium_git') + '/openscreen/quic.git' + 124*3f982cf4SFabien Sanglard '@' + '79eec3fc28f5c4e1d06c6146825e31def6e3b793', 125*3f982cf4SFabien Sanglard 'condition': 'not build_with_chromium', 126*3f982cf4SFabien Sanglard }, 127*3f982cf4SFabien Sanglard 128*3f982cf4SFabien Sanglard # To roll forward, use quiche_revision from chromium/src/DEPS. 129*3f982cf4SFabien Sanglard 'third_party/quiche/src': { 130*3f982cf4SFabien Sanglard 'url': Var('quiche_git') + '/quiche.git' + 131*3f982cf4SFabien Sanglard '@' + '51f584db29001036c20db3f72f09b00b875ae625', 132*3f982cf4SFabien Sanglard 'condition': 'not build_with_chromium', 133*3f982cf4SFabien Sanglard }, 134*3f982cf4SFabien Sanglard 135*3f982cf4SFabien Sanglard 'third_party/tinycbor/src': 136*3f982cf4SFabien Sanglard Var('chromium_git') + '/external/github.com/intel/tinycbor.git' + 137*3f982cf4SFabien Sanglard '@' + 'fc42a049853b802e45f49588f8148fc29d7b4d9c', 138*3f982cf4SFabien Sanglard 139*3f982cf4SFabien Sanglard # Abseil recommends living at head. Chromium takes an Abseil snapshot 140*3f982cf4SFabien Sanglard # irregularly, every 1-2 months. It's OK for us to come out slightly ahead 141*3f982cf4SFabien Sanglard # of Chrome's copy here. 142*3f982cf4SFabien Sanglard 'third_party/abseil/src': { 143*3f982cf4SFabien Sanglard 'url': Var('chromium_git') + 144*3f982cf4SFabien Sanglard '/external/github.com/abseil/abseil-cpp.git' + '@' + 145*3f982cf4SFabien Sanglard 'e19260fd7dbef881492fd73891e0be5bd4a09b95', 146*3f982cf4SFabien Sanglard 'condition': 'not build_with_chromium', 147*3f982cf4SFabien Sanglard }, 148*3f982cf4SFabien Sanglard 149*3f982cf4SFabien Sanglard 'third_party/libfuzzer/src': { 150*3f982cf4SFabien Sanglard 'url': Var('chromium_git') + 151*3f982cf4SFabien Sanglard '/chromium/llvm-project/compiler-rt/lib/fuzzer.git' + 152*3f982cf4SFabien Sanglard '@' + 'debe7d2d1982e540fbd6bd78604bf001753f9e74', 153*3f982cf4SFabien Sanglard 'condition': 'not build_with_chromium', 154*3f982cf4SFabien Sanglard }, 155*3f982cf4SFabien Sanglard 156*3f982cf4SFabien Sanglard 'third_party/modp_b64': { 157*3f982cf4SFabien Sanglard 'url': Var('chromium_git') + '/chromium/src/third_party/modp_b64' 158*3f982cf4SFabien Sanglard '@' + '85754265d3847383704d19232e1ab873547cda9d', 159*3f982cf4SFabien Sanglard 'condition': 'not build_with_chromium', 160*3f982cf4SFabien Sanglard }, 161*3f982cf4SFabien Sanglard 162*3f982cf4SFabien Sanglard 'third_party/valijson/src': { 163*3f982cf4SFabien Sanglard 'url': Var('github') + '/tristanpenman/valijson.git' + 164*3f982cf4SFabien Sanglard '@' + 'cf648930313655b19dc07ebae2f9c3fc37966a33', # Tip-of-tree 165*3f982cf4SFabien Sanglard 'condition': 'not build_with_chromium' 166*3f982cf4SFabien Sanglard }, 167*3f982cf4SFabien Sanglard 168*3f982cf4SFabien Sanglard # Keep in sync with third_party/libaom/source/libaom in Chromium DEPS 169*3f982cf4SFabien Sanglard 'third_party/aomedia/src': { 170*3f982cf4SFabien Sanglard 'url': Var('aomedia_git') + '/aom.git' + 171*3f982cf4SFabien Sanglard '@' + 'bb20160fbdd8226e7904541c8da70b91703e62b8', 172*3f982cf4SFabien Sanglard 'condition': 'not build_with_chromium' 173*3f982cf4SFabien Sanglard } 174*3f982cf4SFabien Sanglard} 175*3f982cf4SFabien Sanglard 176*3f982cf4SFabien Sanglardhooks = [ 177*3f982cf4SFabien Sanglard { 178*3f982cf4SFabien Sanglard 'name': 'clang_update_script', 179*3f982cf4SFabien Sanglard 'pattern': '.', 180*3f982cf4SFabien Sanglard 'condition': 'not build_with_chromium', 181*3f982cf4SFabien Sanglard 'action': [ 'python', 'tools/download-clang-update-script.py', 182*3f982cf4SFabien Sanglard '--output', 'tools/clang/scripts/update.py' ], 183*3f982cf4SFabien Sanglard # NOTE: This file appears in .gitignore, as it is not a part of the 184*3f982cf4SFabien Sanglard # openscreen repo. 185*3f982cf4SFabien Sanglard }, 186*3f982cf4SFabien Sanglard { 187*3f982cf4SFabien Sanglard 'name': 'yajsv_update_script', 188*3f982cf4SFabien Sanglard 'pattern': '.', 189*3f982cf4SFabien Sanglard 'condition': 'not build_with_chromium', 190*3f982cf4SFabien Sanglard 'action': [ 'python', 'tools/download-yajsv.py' ], 191*3f982cf4SFabien Sanglard }, 192*3f982cf4SFabien Sanglard { 193*3f982cf4SFabien Sanglard 'name': 'update_clang', 194*3f982cf4SFabien Sanglard 'pattern': '.', 195*3f982cf4SFabien Sanglard 'condition': 'not build_with_chromium', 196*3f982cf4SFabien Sanglard 'action': [ 'python', 'tools/clang/scripts/update.py' ], 197*3f982cf4SFabien Sanglard }, 198*3f982cf4SFabien Sanglard { 199*3f982cf4SFabien Sanglard 'name': 'clang_coverage_tools', 200*3f982cf4SFabien Sanglard 'pattern': '.', 201*3f982cf4SFabien Sanglard 'condition': 'not build_with_chromium and checkout_clang_coverage_tools', 202*3f982cf4SFabien Sanglard 'action': ['python', 'tools/clang/scripts/update.py', 203*3f982cf4SFabien Sanglard '--package=coverage_tools'], 204*3f982cf4SFabien Sanglard }, 205*3f982cf4SFabien Sanglard { 206*3f982cf4SFabien Sanglard 'name': 'clang_format_linux64', 207*3f982cf4SFabien Sanglard 'pattern': '.', 208*3f982cf4SFabien Sanglard 'action': [ 'download_from_google_storage.py', '--no_resume', '--no_auth', 209*3f982cf4SFabien Sanglard '--bucket', 'chromium-clang-format', 210*3f982cf4SFabien Sanglard '-s', 'buildtools/linux64/clang-format.sha1' ], 211*3f982cf4SFabien Sanglard 'condition': 'host_os == "linux" and not build_with_chromium', 212*3f982cf4SFabien Sanglard }, 213*3f982cf4SFabien Sanglard { 214*3f982cf4SFabien Sanglard 'name': 'clang_format_mac', 215*3f982cf4SFabien Sanglard 'pattern': '.', 216*3f982cf4SFabien Sanglard 'action': [ 'download_from_google_storage.py', '--no_resume', '--no_auth', 217*3f982cf4SFabien Sanglard '--bucket', 'chromium-clang-format', 218*3f982cf4SFabien Sanglard '-s', 'buildtools/mac/clang-format.sha1' ], 219*3f982cf4SFabien Sanglard 'condition': 'host_os == "mac" and not build_with_chromium', 220*3f982cf4SFabien Sanglard }, 221*3f982cf4SFabien Sanglard] 222*3f982cf4SFabien Sanglard 223*3f982cf4SFabien Sanglardrecursedeps = [ 224*3f982cf4SFabien Sanglard 'third_party/chromium_quic/src', 225*3f982cf4SFabien Sanglard 'cast', 226*3f982cf4SFabien Sanglard 'buildtools', 227*3f982cf4SFabien Sanglard] 228*3f982cf4SFabien Sanglard 229*3f982cf4SFabien Sanglardinclude_rules = [ 230*3f982cf4SFabien Sanglard '+util', 231*3f982cf4SFabien Sanglard '+platform/api', 232*3f982cf4SFabien Sanglard '+platform/base', 233*3f982cf4SFabien Sanglard '+platform/test', 234*3f982cf4SFabien Sanglard '+testing/util', 235*3f982cf4SFabien Sanglard '+third_party', 236*3f982cf4SFabien Sanglard 237*3f982cf4SFabien Sanglard # Inter-module dependencies must be through public APIs. 238*3f982cf4SFabien Sanglard '-discovery', 239*3f982cf4SFabien Sanglard '+discovery/common', 240*3f982cf4SFabien Sanglard '+discovery/dnssd/public', 241*3f982cf4SFabien Sanglard '+discovery/mdns/public', 242*3f982cf4SFabien Sanglard '+discovery/public', 243*3f982cf4SFabien Sanglard 244*3f982cf4SFabien Sanglard # Don't include abseil from the root so the path can change via include_dirs 245*3f982cf4SFabien Sanglard # rules when in Chromium. 246*3f982cf4SFabien Sanglard '-third_party/abseil', 247*3f982cf4SFabien Sanglard 248*3f982cf4SFabien Sanglard # Abseil allowed headers. 249*3f982cf4SFabien Sanglard '+absl/algorithm/container.h', 250*3f982cf4SFabien Sanglard '+absl/base/thread_annotations.h', 251*3f982cf4SFabien Sanglard '+absl/hash/hash.h', 252*3f982cf4SFabien Sanglard '+absl/hash/hash_testing.h', 253*3f982cf4SFabien Sanglard '+absl/strings/ascii.h', 254*3f982cf4SFabien Sanglard '+absl/strings/match.h', 255*3f982cf4SFabien Sanglard '+absl/strings/numbers.h', 256*3f982cf4SFabien Sanglard '+absl/strings/str_cat.h', 257*3f982cf4SFabien Sanglard '+absl/strings/str_join.h', 258*3f982cf4SFabien Sanglard '+absl/strings/str_replace.h', 259*3f982cf4SFabien Sanglard '+absl/strings/str_split.h', 260*3f982cf4SFabien Sanglard '+absl/strings/string_view.h', 261*3f982cf4SFabien Sanglard '+absl/strings/substitute.h', 262*3f982cf4SFabien Sanglard '+absl/types/optional.h', 263*3f982cf4SFabien Sanglard '+absl/types/span.h', 264*3f982cf4SFabien Sanglard '+absl/types/variant.h', 265*3f982cf4SFabien Sanglard 266*3f982cf4SFabien Sanglard # Similar to abseil, don't include boringssl using root path. Instead, 267*3f982cf4SFabien Sanglard # explicitly allow 'openssl' where needed. 268*3f982cf4SFabien Sanglard '-third_party/boringssl', 269*3f982cf4SFabien Sanglard 270*3f982cf4SFabien Sanglard # Test framework includes. 271*3f982cf4SFabien Sanglard "-third_party/googletest", 272*3f982cf4SFabien Sanglard "+gtest", 273*3f982cf4SFabien Sanglard "+gmock", 274*3f982cf4SFabien Sanglard] 275*3f982cf4SFabien Sanglard 276*3f982cf4SFabien Sanglardskip_child_includes = [ 277*3f982cf4SFabien Sanglard 'third_party/chromium_quic', 278*3f982cf4SFabien Sanglard] 279