aboutsummaryrefslogtreecommitdiffhomepage
path: root/DEPS
diff options
context:
space:
mode:
authorGravatar mtklein <mtklein@chromium.org>2016-06-22 09:52:13 -0700
committerGravatar Commit bot <commit-bot@chromium.org>2016-06-22 09:52:13 -0700
commit1d8de594f126b9a80bd8f8fa2005e90faf3b5b17 (patch)
treea2f782182ed515a9cd31be0078c9757369ffa0c2 /DEPS
parent1d20258360a7fc0fac86a8a1ec8ad5016100f7d6 (diff)
GN
What we've got here is a little GN MVP. It's lacking any knobs and doesn't yet build anything but libskia, zlib, libpng, and libjpeg-turbo. I've been hopping back and forth between Linux at work and Mac at home. These seem to be at least partially working, enough to build and run cmake/example.cpp. The xcode backend seems to work. From here, we can start exploring how to handle other backends (cmake,Android make, Google3). There are a couple things I want to try: - add another backend like vs or xcode to GN directly - intercept via a custom toolchain - reverse from ninja -t commands That last option seems kind of fun. This tries to piggyback on Chrome's GN setup as much as possible. Chrome's got quite a lot figured out, and we're basically required to do this if we want to have a single GN build system shareable by Chrome, our bots, and other clients. This pulls in some new DEPS: - build: Chrome's GN configuration, and much more - buildtools: hashes for gn binary, pulled via hooks - tools/clang: hashes for Chrome's clang, pulled via hooks into third_party/llvm-build It additionally symlinks tools/gyp to third_party/externals/gyp. GN pulls some stuff from tools/gyp on Mac. Have not yet tried building for Windows, Android, or iOS. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2087593002 Review-Url: https://codereview.chromium.org/2087593002
Diffstat (limited to 'DEPS')
-rw-r--r--DEPS55
1 files changed, 55 insertions, 0 deletions
diff --git a/DEPS b/DEPS
index 9504771f1c..539b6a81be 100644
--- a/DEPS
+++ b/DEPS
@@ -3,6 +3,10 @@ use_relative_paths = True
# Dependencies on outside packages.
#
deps = {
+ "build": "https://chromium.googlesource.com/chromium/src/build.git@54b609cc558d57003c7a7d657edcc25a3879bf78",
+ "buildtools": "https://chromium.googlesource.com/chromium/buildtools.git@3780bc523aad1d68a5bd00e05c453a80b2ba0b35",
+ "tools/clang": "https://chromium.googlesource.com/chromium/src/tools/clang.git@ea64c667cd841b2c3268bd7dfd223269f3ea23ba",
+
"common": "https://skia.googlesource.com/common.git@c282fe0b6e392b14f88d647cbd86e1a3ef5498e0",
# There is some duplication here that might be worth cleaning up:
@@ -63,3 +67,54 @@ deps_os = {
}
recursedeps = [ "common" ]
+
+hooks = [
+ # Download GN.
+ {
+ 'name': 'gn_win',
+ 'action': [ 'download_from_google_storage',
+ '--quiet',
+ '--no_resume',
+ '--platform=win32',
+ '--no_auth',
+ '--bucket', 'chromium-gn',
+ '-s', 'buildtools/win/gn.exe.sha1',
+ ],
+ },
+ {
+ 'name': 'gn_mac',
+ 'pattern': '.',
+ 'action': [ 'download_from_google_storage',
+ '--quiet',
+ '--no_resume',
+ '--platform=darwin',
+ '--no_auth',
+ '--bucket', 'chromium-gn',
+ '-s', 'buildtools/mac/gn.sha1',
+ ],
+ },
+ {
+ 'name': 'gn_linux64',
+ 'pattern': '.',
+ 'action': [ 'download_from_google_storage',
+ '--quiet',
+ '--no_resume',
+ '--platform=linux*',
+ '--no_auth',
+ '--bucket', 'chromium-gn',
+ '-s', 'buildtools/linux64/gn.sha1',
+ ],
+ },
+ # Download Clang.
+ {
+ 'name': 'clang',
+ 'pattern': '.',
+ 'action': [ 'python', 'tools/clang/scripts/update.py', '--if-needed' ],
+ },
+ # Download Linux sysroot.
+ {
+ 'name': 'sysroot',
+ 'pattern': '.',
+ 'action': [ 'python', 'build/linux/sysroot_scripts/install-sysroot.py', '--arch=amd64' ],
+ },
+]