blob: 2878455048b1a19f02f559b8ea99836e60708386 [file] [log] [blame]
kjellander@webrtc.org89256622014-08-20 12:10:11 +00001# This file contains dependencies for WebRTC that are not shared with Chromium.
2# If you wish to add a dependency that is present in Chromium's src/DEPS or a
3# directory from the Chromium checkout, you should add it to setup_links.py
4# instead.
5
andrew@webrtc.org4ce52bb2012-07-31 21:54:13 +00006vars = {
kjellander@webrtc.org8e5c8142014-12-03 07:11:44 +00007 'extra_gyp_flag': '-Dextra_gyp_flag=0',
8 'chromium_git': 'https://chromium.googlesource.com',
kjellander5ad6bf12016-03-14 13:08:22 -07009 'chromium_revision': '390847b60c7d8a829c9a28c7c2f6d4a707080fd7',
andrew@webrtc.org4ce52bb2012-07-31 21:54:13 +000010}
11
kjellander4bba35f2016-02-09 06:47:39 -080012# NOTE: Use http rather than https; the latter can cause problems for users
13# behind proxies.
andrew@webrtc.org4ce52bb2012-07-31 21:54:13 +000014deps = {
kjellander@webrtc.org8e5c8142014-12-03 07:11:44 +000015 'src/third_party/gflags/src':
kjellander4bba35f2016-02-09 06:47:39 -080016 Var('chromium_git') + '/external/github.com/gflags/gflags@03bebcb065c83beff83d50ae025a55a4bf94dfca',
andrew@webrtc.org4ce52bb2012-07-31 21:54:13 +000017}
18
19deps_os = {
kjellander@webrtc.org8e5c8142014-12-03 07:11:44 +000020 'win': {
21 'src/third_party/winsdk_samples/src':
kjellander7cae30c2015-12-16 14:05:29 -080022 Var('chromium_git') + '/external/webrtc/deps/third_party/winsdk_samples_v71@e71b549167a665d7424d6f1dadfbff4b4aad1589',
henrike@webrtc.org8d27a1c2013-07-23 18:15:11 +000023 },
andrew@webrtc.org4ce52bb2012-07-31 21:54:13 +000024}
25
kjellander@webrtc.orgafefed52014-10-01 06:03:47 +000026# Define rules for which include paths are allowed in our source.
kjellander@webrtc.org3bd41562014-09-01 11:06:37 +000027include_rules = [
28 # Base is only used to build Android APK tests and may not be referenced by
29 # WebRTC production code.
kjellander@webrtc.org8e5c8142014-12-03 07:11:44 +000030 '-base',
31 '-chromium',
Ivo Creusen747d5f62015-06-23 10:08:11 +020032 '+external/webrtc/webrtc', # Android platform build.
kjellander@webrtc.orgafefed52014-10-01 06:03:47 +000033 '+gflags',
kjellander@webrtc.orgd7e34e12015-01-26 19:17:26 +000034 '+libyuv',
kjellander@webrtc.org561a9ec2014-09-02 09:39:35 +000035 '+net',
36 '+talk',
37 '+testing',
kjellander@webrtc.orgafefed52014-10-01 06:03:47 +000038 '+third_party',
Henrik Kjellander35259542015-04-23 08:58:21 +020039 '+unicode',
kjellandera96e2d72016-02-04 23:52:28 -080040 '+usrsctplib',
kjellander@webrtc.org561a9ec2014-09-02 09:39:35 +000041 '+webrtc',
Henrik Boström9695d852015-05-06 10:42:15 +020042 '+vpx',
kjellander@webrtc.org561a9ec2014-09-02 09:39:35 +000043]
44
andrew@webrtc.org4ce52bb2012-07-31 21:54:13 +000045hooks = [
46 {
kjellander@webrtc.org0b0ac822014-10-09 09:11:27 +000047 # Check for legacy named top-level dir (named 'trunk').
kjellander@webrtc.org8e5c8142014-12-03 07:11:44 +000048 'name': 'check_root_dir_name',
49 'pattern': '.',
50 'action': ['python','-c',
51 ('import os,sys;'
52 'script = os.path.join("trunk","check_root_dir.py");'
53 '_ = os.system("%s %s" % (sys.executable,script)) '
54 'if os.path.exists(script) else 0')],
kjellander@webrtc.org0b0ac822014-10-09 09:11:27 +000055 },
56 {
kjellander@webrtc.org89256622014-08-20 12:10:11 +000057 # Clone chromium and its deps.
kjellander@webrtc.org8e5c8142014-12-03 07:11:44 +000058 'name': 'sync chromium',
59 'pattern': '.',
60 'action': ['python', '-u', 'src/sync_chromium.py',
61 '--target-revision', Var('chromium_revision')],
wjia@webrtc.org03cfde22014-01-14 17:48:34 +000062 },
kjellander@webrtc.org11bea892014-07-03 17:04:12 +000063 {
kjellander@webrtc.org89256622014-08-20 12:10:11 +000064 # Create links to shared dependencies in Chromium.
kjellander@webrtc.org8e5c8142014-12-03 07:11:44 +000065 'name': 'setup_links',
66 'pattern': '.',
67 'action': ['python', 'src/setup_links.py'],
kjellander@webrtc.org27ab19d2014-06-21 19:30:29 +000068 },
69 {
Henrik Kjellander27576e02015-10-15 14:24:09 +020070 # This clobbers when necessary (based on get_landmines.py). It should be
71 # an early hook but it will need to be run after syncing Chromium and
72 # setting up the links, so the script actually exists.
73 'name': 'landmines',
74 'pattern': '.',
75 'action': [
76 'python',
77 'src/build/landmines.py',
78 '--landmine-scripts',
79 'src/webrtc/build/get_landmines.py',
80 '--src-dir',
81 'src',
82 ],
83 },
84 {
Henrik Kjellandera49f5152015-03-25 13:48:55 +010085 # Pull sanitizer-instrumented third-party libraries if requested via
86 # GYP_DEFINES. This could be done as part of sync_chromium.py above
87 # but then we would need to run all the Chromium hooks each time,
88 # which will slow things down a lot.
89 'name': 'instrumented_libraries',
90 'pattern': '\\.sha1',
91 'action': ['python', 'src/third_party/instrumented_libraries/scripts/download_binaries.py'],
92 },
93 {
kjellander@webrtc.org80174582013-11-04 12:07:57 +000094 # Download test resources, i.e. video and audio files from Google Storage.
kjellander@webrtc.org8e5c8142014-12-03 07:11:44 +000095 'pattern': '.',
96 'action': ['download_from_google_storage',
97 '--directory',
98 '--recursive',
99 '--num_threads=10',
100 '--no_auth',
kjellander4ff818e2015-12-18 12:29:28 -0800101 '--quiet',
kjellander@webrtc.org8e5c8142014-12-03 07:11:44 +0000102 '--bucket', 'chromium-webrtc-resources',
103 'src/resources'],
andrew@webrtc.org4ce52bb2012-07-31 21:54:13 +0000104 },
105 {
106 # A change to a .gyp, .gypi, or to GYP itself should run the generator.
kjellander@webrtc.org8e5c8142014-12-03 07:11:44 +0000107 'name': 'gyp',
108 'pattern': '.',
109 'action': ['python', 'src/webrtc/build/gyp_webrtc',
110 Var('extra_gyp_flag')],
andrew@webrtc.org4ce52bb2012-07-31 21:54:13 +0000111 },
112]
113