#!/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"