Changes:
- Add Clang as dependency to make building on Mac possible.
- Add gold linker for Unix platforms
- Replace Cygwin with WebRTC's slimmed down version for Win.

Dependencies updated to the Chrome revision WebRTC uses:
- GYP
- gtest
- libjpeg_turbo
- yasm and patched-yasm

TEST=Compiled and executed Debug+Release builds of libyuv_unittest on Mac, Linux and Windows.
Review URL: https://webrtc-codereview.appspot.com/758006

git-svn-id: http://libyuv.googlecode.com/svn/trunk@327 16f28f9a-4ce2-e073-06de-1de4eb20be90
diff --git a/DEPS b/DEPS
index c0cfc5d..6bf1463 100644
--- a/DEPS
+++ b/DEPS
@@ -1,57 +1,85 @@
+use_relative_paths = True
+
 vars = {
   "libyuv_trunk" : "https://libyuv.googlecode.com/svn/trunk",
-  "chromium_trunk" : "http://src.chromium.org/svn/trunk",
-  "chromium_revision": "120526",
+
+  # 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",
+  "chromium_trunk" : "http://src.chromium.org/svn/trunk",
+  "chromium_revision": "143348",
 }
 
+# NOTE: Prefer revision numbers to tags for svn deps. Use http rather than
+# https; the latter can cause problems for users behind proxies.
 deps = {
-  "trunk/build":
+  "../chromium_deps":
+    File(Var("chromium_trunk") + "/src/DEPS@" + Var("chromium_revision")),
+
+  "build":
     Var("chromium_trunk") + "/src/build@" + Var("chromium_revision"),
 
-  "trunk/testing":
+  "testing":
     Var("chromium_trunk") + "/src/testing@" + Var("chromium_revision"),
 
-  "trunk/testing/gtest":
-    (Var("googlecode_url") % "googletest") + "/trunk@573",
+  "testing/gtest":
+    From("chromium_deps", "src/testing/gtest"),
 
-  "trunk/tools/gyp":
-    (Var("googlecode_url") % "gyp") + "/trunk@985",
+  "tools/clang":
+    Var("chromium_trunk") + "/src/tools/clang@" + Var("chromium_revision"),
+
+  "tools/gyp":
+    From("chromium_deps", "src/tools/gyp"),
 
   # Needed by build/common.gypi.
-  "trunk/tools/win/supalink":
+  "tools/win/supalink":
     Var("chromium_trunk") + "/src/tools/win/supalink@" + Var("chromium_revision"),
 
-  # Dependencies used by libjpeg-turbo
-  # Optional jpeg decoder
-  "trunk/third_party/libjpeg_turbo/":
-    Var("chromium_trunk") + "/deps/third_party/libjpeg_turbo@149334",
+  "third_party/libjpeg_turbo":
+    From("chromium_deps", "src/third_party/libjpeg_turbo"),
 
   # Yasm assember required for libjpeg_turbo
-  "trunk/third_party/yasm/":
+  "third_party/yasm":
     Var("chromium_trunk") + "/src/third_party/yasm@" + Var("chromium_revision"),
 
-  # TODO(fbarchard): Review yasm dependency
-  "trunk/third_party/yasm/source/patched-yasm":
-   Var("chromium_trunk") + "/deps/third_party/yasm/patched-yasm@73761",
-
-  "trunk/third_party/yasm/binaries":
-   Var("chromium_trunk") + "/deps/third_party/yasm/binaries@74228",
+  "third_party/yasm/source/patched-yasm":
+    From("chromium_deps", "src/third_party/yasm/source/patched-yasm"),
 }
 
 deps_os = {
   "win": {
-    "trunk/third_party/cygwin/":
-      Var("chromium_trunk") + "/deps/third_party/cygwin@66844",
-  }
+    # Use WebRTC's, stripped down, version of Cygwin (required by GYP).
+    "third_party/cygwin":
+      (Var("googlecode_url") % "webrtc") + "/deps/third_party/cygwin@2672",
+
+     # Used by libjpeg-turbo
+     "third_party/yasm/binaries":
+       From("chromium_deps", "src/third_party/yasm/binaries"),
+  },
+  "unix": {
+    "third_party/gold":
+      From("chromium_deps", "src/third_party/gold"),
+  },
 }
 
 hooks = [
-  # A change to a .gyp, .gypi, or to GYP itself should run the generator.
   {
+    # 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", "trunk/build/gyp_chromium", "--depth=trunk", "trunk/libyuv_test.gyp"],
+    "action": ["python", Var("root_dir") + "/tools/clang/scripts/update.py",
+               "--mac-only"],
+  },
+  {
+    # 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") + "/libyuv_test.gyp",
+               Var("extra_gyp_flag")],
   },
 ]