| #!/bin/bash |
| # |
| # Author: Ravi Mistry |
| # |
| # Script to checkout and build a fresh copy of Chromium from head that uses a |
| # writable, tip-of-tree Skia rather than the read-only, revision-locked Skia |
| # specified in http://src.chromium.org/viewvc/chrome/trunk/src/DEPS |
| # |
| # Sample Usage: |
| # tools/build-tot-chromium.sh ~/chromiumtrunk |
| |
| if [[ $# -ne 1 ]] ; then |
| echo "usage: $0 chromium_location" |
| exit 1 |
| fi |
| CHROMIUM_LOCATION=$1 |
| |
| echo -e "\n\n========Deleting $CHROMIUM_LOCATION========\n\n" |
| rm -rf $CHROMIUM_LOCATION |
| |
| mkdir $CHROMIUM_LOCATION |
| cd $CHROMIUM_LOCATION |
| gclient config https://src.chromium.org/chrome/trunk/src |
| echo ' |
| solutions = [ |
| { "name" : "src", |
| "url" : "https://src.chromium.org/chrome/trunk/src", |
| "deps_file" : "DEPS", |
| "managed" : True, |
| "custom_deps" : { |
| "src/third_party/skia": "https://skia.googlecode.com/svn/trunk", |
| "src/third_party/skia/gyp": None, |
| "src/third_party/skia/src": None, |
| "src/third_party/skia/include": None, |
| }, |
| "safesync_url": "", |
| }, |
| ] |
| ' > .gclient |
| |
| echo -e "\n\n========Starting gclient sync========\n\n" |
| START_TIME=$SECONDS |
| gclient sync |
| END_TIME=$SECONDS |
| echo -e "\n\n========gclient sync took $((END_TIME - START_TIME)) seconds========\n\n" |
| |
| cd src |
| rm -rf out/Debug out/Release |
| GYP_GENERATORS='ninja' ./build/gyp_chromium |
| |
| echo -e "\n\n========Starting ninja build========\n\n" |
| START_TIME=$SECONDS |
| ninja -C out/Release chrome |
| END_TIME=$SECONDS |
| echo -e "\n\n========ninja build took $((END_TIME - START_TIME)) seconds========\n\n" |
| |
| SVN_VERSION=`svnversion .` |
| echo -e "\n\n========The Chromium & Skia versions are $(SVN_VERSION)========\n\n" |
| |