use_relative_paths = True

vars = {
  # Override root_dir in your .gclient's custom_vars to specify a custom root
  # folder name.
  "root_dir": "trunk",
  "extra_gyp_flag": "-Dextra_gyp_flag=0",

  # Use this googlecode_url variable only if there is an internal mirror for it.
  # If you do not know, use the full path while defining your new deps entry.
  "googlecode_url": "http://%s.googlecode.com/svn",
  "sourceforge_url": "http://svn.code.sf.net/p/%(repo)s/code",
  "chromium_trunk" : "http://src.chromium.org/svn/trunk",
  "chromium_revision": "232627",

  # A small subset of WebKit is needed for the Android Python test framework.
  "webkit_trunk": "http://src.chromium.org/blink/trunk",
}

# NOTE: Prefer revision numbers to tags for svn deps. Use http rather than
# https; the latter can cause problems for users behind proxies.
deps = {
  "../chromium_deps":
    File(Var("chromium_trunk") + "/src/DEPS@" + Var("chromium_revision")),

  "build":
    Var("chromium_trunk") + "/src/build@" + Var("chromium_revision"),

  # Needed by common.gypi.
  "google_apis/build":
    Var("chromium_trunk") + "/src/google_apis/build@" + Var("chromium_revision"),

  "testing":
    Var("chromium_trunk") + "/src/testing@" + Var("chromium_revision"),

  "testing/gmock":
    From("chromium_deps", "src/testing/gmock"),

  "testing/gtest":
    From("chromium_deps", "src/testing/gtest"),

  "third_party/expat":
    Var("chromium_trunk") + "/src/third_party/expat@" + Var("chromium_revision"),

  # When rolling gflags, also update deps/third_party/webrtc/webrtc.DEPS/DEPS
  # in Chromium's repo.
  "third_party/gflags/src":
    (Var("googlecode_url") % "gflags") + "/trunk/src@84",

  "third_party/icu/":
    From("chromium_deps", "src/third_party/icu"),

  "third_party/jsoncpp/":
    Var("chromium_trunk") + "/src/third_party/jsoncpp@" + Var("chromium_revision"),

  "third_party/jsoncpp/source":
    (Var("sourceforge_url") % {"repo": "jsoncpp"}) + "/trunk/jsoncpp@248",

  "third_party/junit/":
    (Var("googlecode_url") % "webrtc") + "/deps/third_party/junit@3367",

  "third_party/libjpeg":
    Var("chromium_trunk") + "/src/third_party/libjpeg@" + Var("chromium_revision"),

  "third_party/libjpeg_turbo":
    From("chromium_deps", "src/third_party/libjpeg_turbo"),

  "third_party/libsrtp/":
    From("chromium_deps", "src/third_party/libsrtp"),

  "third_party/libvpx":
    Var("chromium_trunk") + "/deps/third_party/libvpx@232686",

  "third_party/libyuv":
    (Var("googlecode_url") % "libyuv") + "/trunk@874",

  "third_party/opus":
    Var("chromium_trunk") + "/src/third_party/opus@185405",

  "third_party/opus/src":
    Var("chromium_trunk") + "/deps/third_party/opus@185324",

  "third_party/protobuf":
    Var("chromium_trunk") + "/src/third_party/protobuf@" + Var("chromium_revision"),

  "third_party/sqlite/":
    Var("chromium_trunk") + "/src/third_party/sqlite@" + Var("chromium_revision"),

  "third_party/yasm":
    Var("chromium_trunk") + "/src/third_party/yasm@" + Var("chromium_revision"),

  "third_party/yasm/source/patched-yasm":
    From("chromium_deps", "src/third_party/yasm/source/patched-yasm"),

  "tools/clang":
    Var("chromium_trunk") + "/src/tools/clang@" + Var("chromium_revision"),

  "tools/gyp":
    From("chromium_deps", "src/tools/gyp"),

  "tools/protoc_wrapper":
    Var("chromium_trunk") + "/src/tools/protoc_wrapper@" + Var("chromium_revision"),

  "tools/python":
    Var("chromium_trunk") + "/src/tools/python@" + Var("chromium_revision"),

  "tools/sharding_supervisor":
    Var("chromium_trunk") + "/src/tools/sharding_supervisor@" + Var("chromium_revision"),

  "tools/swarm_client":
    Var("chromium_trunk") + "/tools/swarm_client@" + Var("chromium_revision"),

  "tools/valgrind":
    Var("chromium_trunk") + "/src/tools/valgrind@" + Var("chromium_revision"),

  # Needed by build/common.gypi.
  "tools/win/supalink":
    Var("chromium_trunk") + "/src/tools/win/supalink@" + Var("chromium_revision"),
}

deps_os = {
  "win": {
    # Use our own, stripped down, version of Cygwin (required by GYP).
    "third_party/cygwin":
      (Var("googlecode_url") % "webrtc") + "/deps/third_party/cygwin@2672",

    "third_party/winsdk_samples/src":
      (Var("googlecode_url") % "webrtc") + "/deps/third_party/winsdk_samples_v71@3145",

    # Used by libjpeg-turbo.
    "third_party/yasm/binaries":
      From("chromium_deps", "src/third_party/yasm/binaries"),

    # NSS, for SSLClientSocketNSS.
    "third_party/nss":
      From("chromium_deps", "src/third_party/nss"),

    # SyzyASan to make it possible to run tests under ASan on Windows.
    "third_party/syzygy/binaries":
      From("chromium_deps", "src/third_party/syzygy/binaries"),
  },

  "mac": {
    # NSS, for SSLClientSocketNSS.
    "third_party/nss":
      From("chromium_deps", "src/third_party/nss"),

    # TODO(fischman): delete this in favor of the copy in "ios" below, once the
    # webrtc iOS bots are fixed to target_os=['ios'] in their .gclient
    # https://code.google.com/p/webrtc/issues/detail?id=2152
    "net/third_party/nss":
      Var("chromium_trunk") + "/src/net/third_party/nss@" + Var("chromium_revision"),
  },

  "ios": {
    # NSS, for SSLClientSocketNSS.
    "third_party/nss":
      From("chromium_deps", "src/third_party/nss"),

    "net/third_party/nss":
      Var("chromium_trunk") + "/src/net/third_party/nss@" + Var("chromium_revision"),

    # class-dump utility to generate header files for undocumented SDKs.
    "testing/iossim/third_party/class-dump":
      From("chromium_deps", "src/testing/iossim/third_party/class-dump"),

    # Helper for running under the simulator.
    "testing/iossim":
      Var("chromium_trunk") + "/src/testing/iossim@" + Var("chromium_revision"),
  },

  "unix": {
    "third_party/gold":
      From("chromium_deps", "src/third_party/gold"),

    "third_party/openssl":
      From("chromium_deps", "src/third_party/openssl"),
  },
  "android": {
    # Precompiled tools needed for Android test execution. Needed since we can't
    # compile them from source in WebRTC since they depend on Chromium's base.
    "tools/android":
      (Var("googlecode_url") % "webrtc") + "/deps/tools/android@4258",

    "third_party/android_tools":
      From("chromium_deps", "src/third_party/android_tools"),

    "third_party/android_testrunner":
      Var("chromium_trunk") + "/src/third_party/android_testrunner@" + Var("chromium_revision"),

    "third_party/WebKit/Tools/Scripts":
      Var("webkit_trunk") + "/Tools/Scripts@151677",

    "third_party/openssl":
      From("chromium_deps", "src/third_party/openssl"),
  },
}

hooks = [
  {
    # Create a supplement.gypi file under trunk/webrtc. This file will be picked
    # up by gyp and used to enable the standalone build.
    "pattern": ".",
    "action": ["python", Var("root_dir") + "/tools/create_supplement_gypi.py",
               Var("root_dir") + "/webrtc/supplement.gypi"],
  },
  {
    # Pull clang on mac. If nothing changed, or on non-mac platforms, this takes
    # zero seconds to run. If something changed, it downloads a prebuilt clang.
    "pattern": ".",
    "action": ["python", Var("root_dir") + "/tools/clang/scripts/update.py",
               "--mac-only"],
  },
  {
    # Update the cygwin mount on Windows.
    # This is necessary to get the correct mapping between e.g. /bin and the
    # cygwin path on Windows. Without it we can't run bash scripts in actions.
    # Ideally this should be solved in "pylib/gyp/msvs_emulation.py".
    "pattern": ".",
    "action": ["python", Var("root_dir") + "/build/win/setup_cygwin_mount.py",
               "--win-only"],
  },
  {
    # Download test resources, i.e. video and audio files from Google Storage.
    "pattern": "\\.sha1",
    "action": ["download_from_google_storage",
               "--directory",
               "--recursive",
               "--num_threads=10",
               "--bucket", "chromium-webrtc-resources",
               Var("root_dir") + "/resources"],
  },
  {
    # A change to a .gyp, .gypi, or to GYP itself should run the generator.
    "pattern": ".",
    "action": ["python", Var("root_dir") + "/build/gyp_chromium",
               "--depth=" + Var("root_dir"), Var("root_dir") + "/all.gyp",
               Var("extra_gyp_flag")],
  },
]