Home | History | Annotate | Download | only in webrtc
      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 
      6 vars = {
      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.
     14 deps = {
     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 
     24 deps_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.
     32 include_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 
     49 hooks = [
     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