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