1# 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
6vars = {
7  'extra_gyp_flag': '-Dextra_gyp_flag=0',
8  'chromium_git': 'https://chromium.googlesource.com',
9  'chromium_revision': '099be58b08dadb64b1dc9f359ae097e978df5416',
10}
11
12# NOTE: Prefer revision numbers to tags for svn deps. Use http rather than
13# https; the latter can cause problems for users behind proxies.
14deps = {
15  # When rolling gflags, also update
16  # https://chromium.googlesource.com/chromium/deps/webrtc/webrtc.DEPS
17  'src/third_party/gflags/src':
18    Var('chromium_git') + '/external/gflags/src@e7390f9185c75f8d902c05ed7d20bb94eb914d0c', # from svn revision 82
19
20  'src/third_party/junit-jar':
21    Var('chromium_git') + '/external/webrtc/deps/third_party/junit@f35596b476aa6e62fd3b3857b9942ddcd13ce35e', # from svn revision 3367
22}
23
24deps_os = {
25  'win': {
26    'src/third_party/winsdk_samples/src':
27      Var('chromium_git') + '/external/webrtc/deps/third_party/winsdk_samples_v71@e71b549167a665d7424d6f1dadfbff4b4aad1589',
28  },
29}
30
31# Define rules for which include paths are allowed in our source.
32include_rules = [
33  # Base is only used to build Android APK tests and may not be referenced by
34  # WebRTC production code.
35  '-base',
36  '-chromium',
37  '+external/webrtc/webrtc',  # Android platform build.
38  '+gflags',
39  '+libyuv',
40  '+net',
41  '+talk',
42  '+testing',
43  '+third_party',
44  '+unicode',
45  '+webrtc',
46  '+vpx',
47]
48
49hooks = [
50  {
51    # Check for legacy named top-level dir (named 'trunk').
52    'name': 'check_root_dir_name',
53    'pattern': '.',
54    'action': ['python','-c',
55               ('import os,sys;'
56                'script = os.path.join("trunk","check_root_dir.py");'
57                '_ = os.system("%s %s" % (sys.executable,script)) '
58                'if os.path.exists(script) else 0')],
59  },
60  {
61    # Clone chromium and its deps.
62    'name': 'sync chromium',
63    'pattern': '.',
64    'action': ['python', '-u', 'src/sync_chromium.py',
65               '--target-revision', Var('chromium_revision')],
66  },
67  {
68    # Create links to shared dependencies in Chromium.
69    'name': 'setup_links',
70    'pattern': '.',
71    'action': ['python', 'src/setup_links.py'],
72  },
73  {
74    # This clobbers when necessary (based on get_landmines.py). It should be
75    # an early hook but it will need to be run after syncing Chromium and
76    # setting up the links, so the script actually exists.
77    'name': 'landmines',
78    'pattern': '.',
79    'action': [
80        'python',
81        'src/build/landmines.py',
82        '--landmine-scripts',
83        'src/webrtc/build/get_landmines.py',
84        '--src-dir',
85        'src',
86    ],
87  },
88  {
89     # Pull sanitizer-instrumented third-party libraries if requested via
90     # GYP_DEFINES. This could be done as part of sync_chromium.py above
91     # but then we would need to run all the Chromium hooks each time,
92     # which will slow things down a lot.
93     'name': 'instrumented_libraries',
94     'pattern': '\\.sha1',
95     'action': ['python', 'src/third_party/instrumented_libraries/scripts/download_binaries.py'],
96   },
97  {
98    # Download test resources, i.e. video and audio files from Google Storage.
99    'pattern': '.',
100    'action': ['download_from_google_storage',
101               '--directory',
102               '--recursive',
103               '--num_threads=10',
104               '--no_auth',
105               '--quiet',
106               '--bucket', 'chromium-webrtc-resources',
107               'src/resources'],
108  },
109  {
110    # A change to a .gyp, .gypi, or to GYP itself should run the generator.
111    'name': 'gyp',
112    'pattern': '.',
113    'action': ['python', 'src/webrtc/build/gyp_webrtc',
114               Var('extra_gyp_flag')],
115  },
116]
117
118