11e9bf3e0803691d0a228da41fc608347b6db4340Torne (Richard Coles)#!/bin/bash 21e9bf3e0803691d0a228da41fc608347b6db4340Torne (Richard Coles)# Copyright (c) 2012 The Chromium Authors. All rights reserved. 31e9bf3e0803691d0a228da41fc608347b6db4340Torne (Richard Coles)# Use of this source code is governed by a BSD-style license that can be 41e9bf3e0803691d0a228da41fc608347b6db4340Torne (Richard Coles)# found in the LICENSE file. 51e9bf3e0803691d0a228da41fc608347b6db4340Torne (Richard Coles) 61e9bf3e0803691d0a228da41fc608347b6db4340Torne (Richard Coles)set -o nounset 71e9bf3e0803691d0a228da41fc608347b6db4340Torne (Richard Coles)set -o errexit 81e9bf3e0803691d0a228da41fc608347b6db4340Torne (Richard Coles)set -o xtrace 91e9bf3e0803691d0a228da41fc608347b6db4340Torne (Richard Coles) 101e9bf3e0803691d0a228da41fc608347b6db4340Torne (Richard Coles)SCRIPT_DIR="$(cd $(dirname $0) && pwd)" 111e9bf3e0803691d0a228da41fc608347b6db4340Torne (Richard Coles)cd ${SCRIPT_DIR} 121e9bf3e0803691d0a228da41fc608347b6db4340Torne (Richard Coles) 131e9bf3e0803691d0a228da41fc608347b6db4340Torne (Richard Coles)OUT_DIR=out 141e9bf3e0803691d0a228da41fc608347b6db4340Torne (Richard Coles)NACLPORTS_URL=http://naclports.googlecode.com/svn/trunk/src 15cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)NACLPORTS_REV=1290 161e9bf3e0803691d0a228da41fc608347b6db4340Torne (Richard Coles)NACLPORTS_DIR=${OUT_DIR}/naclports 171e9bf3e0803691d0a228da41fc608347b6db4340Torne (Richard Coles) 181e9bf3e0803691d0a228da41fc608347b6db4340Torne (Richard Coles)if [ -z "${NACL_SDK_ROOT:-}" ]; then 191e9bf3e0803691d0a228da41fc608347b6db4340Torne (Richard Coles) echo "-------------------------------------------------------------------" 201e9bf3e0803691d0a228da41fc608347b6db4340Torne (Richard Coles) echo "NACL_SDK_ROOT is unset." 211e9bf3e0803691d0a228da41fc608347b6db4340Torne (Richard Coles) echo "This environment variable needs to be pointed at some version of" 221e9bf3e0803691d0a228da41fc608347b6db4340Torne (Richard Coles) echo "the Native Client SDK (the directory containing toolchain/)." 231e9bf3e0803691d0a228da41fc608347b6db4340Torne (Richard Coles) echo "NOTE: set this to an absolute path." 241e9bf3e0803691d0a228da41fc608347b6db4340Torne (Richard Coles) echo "-------------------------------------------------------------------" 251e9bf3e0803691d0a228da41fc608347b6db4340Torne (Richard Coles) exit -1 261e9bf3e0803691d0a228da41fc608347b6db4340Torne (Richard Coles)fi 271e9bf3e0803691d0a228da41fc608347b6db4340Torne (Richard Coles) 281e9bf3e0803691d0a228da41fc608347b6db4340Torne (Richard Coles)Banner() { 291e9bf3e0803691d0a228da41fc608347b6db4340Torne (Richard Coles) echo "######################################################################" 301e9bf3e0803691d0a228da41fc608347b6db4340Torne (Richard Coles) echo $* 311e9bf3e0803691d0a228da41fc608347b6db4340Torne (Richard Coles) echo "######################################################################" 321e9bf3e0803691d0a228da41fc608347b6db4340Torne (Richard Coles)} 331e9bf3e0803691d0a228da41fc608347b6db4340Torne (Richard Coles) 341e9bf3e0803691d0a228da41fc608347b6db4340Torne (Richard Coles)# echo a command to stdout and then execute it. 351e9bf3e0803691d0a228da41fc608347b6db4340Torne (Richard Coles)LogExecute() { 361e9bf3e0803691d0a228da41fc608347b6db4340Torne (Richard Coles) echo $* 371e9bf3e0803691d0a228da41fc608347b6db4340Torne (Richard Coles) $* 381e9bf3e0803691d0a228da41fc608347b6db4340Torne (Richard Coles)} 391e9bf3e0803691d0a228da41fc608347b6db4340Torne (Richard Coles) 401e9bf3e0803691d0a228da41fc608347b6db4340Torne (Richard Coles)Clone() { 411e9bf3e0803691d0a228da41fc608347b6db4340Torne (Richard Coles) local url=$1 421e9bf3e0803691d0a228da41fc608347b6db4340Torne (Richard Coles) local dir=$2 431e9bf3e0803691d0a228da41fc608347b6db4340Torne (Richard Coles) local sha=$3 441e9bf3e0803691d0a228da41fc608347b6db4340Torne (Richard Coles) if [ ! -d $dir ]; then 451e9bf3e0803691d0a228da41fc608347b6db4340Torne (Richard Coles) LogExecute git clone $url $dir 461e9bf3e0803691d0a228da41fc608347b6db4340Torne (Richard Coles) else 471e9bf3e0803691d0a228da41fc608347b6db4340Torne (Richard Coles) pushd $dir 481e9bf3e0803691d0a228da41fc608347b6db4340Torne (Richard Coles) LogExecute git fetch origin 491e9bf3e0803691d0a228da41fc608347b6db4340Torne (Richard Coles) popd 501e9bf3e0803691d0a228da41fc608347b6db4340Torne (Richard Coles) fi 511e9bf3e0803691d0a228da41fc608347b6db4340Torne (Richard Coles) 521e9bf3e0803691d0a228da41fc608347b6db4340Torne (Richard Coles) pushd $dir 531e9bf3e0803691d0a228da41fc608347b6db4340Torne (Richard Coles) LogExecute git checkout $sha 541e9bf3e0803691d0a228da41fc608347b6db4340Torne (Richard Coles) popd 551e9bf3e0803691d0a228da41fc608347b6db4340Torne (Richard Coles)} 561e9bf3e0803691d0a228da41fc608347b6db4340Torne (Richard Coles) 571e9bf3e0803691d0a228da41fc608347b6db4340Torne (Richard Coles)Banner Cloning naclports 581e9bf3e0803691d0a228da41fc608347b6db4340Torne (Richard Coles)if [ ! -d ${NACLPORTS_DIR} ]; then 591e9bf3e0803691d0a228da41fc608347b6db4340Torne (Richard Coles) mkdir -p ${NACLPORTS_DIR} 601e9bf3e0803691d0a228da41fc608347b6db4340Torne (Richard Coles) pushd ${NACLPORTS_DIR} 611e9bf3e0803691d0a228da41fc608347b6db4340Torne (Richard Coles) gclient config --name=src ${NACLPORTS_URL} 621e9bf3e0803691d0a228da41fc608347b6db4340Torne (Richard Coles) popd 631e9bf3e0803691d0a228da41fc608347b6db4340Torne (Richard Coles)fi 641e9bf3e0803691d0a228da41fc608347b6db4340Torne (Richard Coles) 651e9bf3e0803691d0a228da41fc608347b6db4340Torne (Richard Coles)pushd ${NACLPORTS_DIR} 661e9bf3e0803691d0a228da41fc608347b6db4340Torne (Richard Coles)gclient sync -r ${NACLPORTS_REV} 671e9bf3e0803691d0a228da41fc608347b6db4340Torne (Richard Coles)popd 681e9bf3e0803691d0a228da41fc608347b6db4340Torne (Richard Coles) 6946d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles) 701e9bf3e0803691d0a228da41fc608347b6db4340Torne (Richard Coles)Banner Building lua 711e9bf3e0803691d0a228da41fc608347b6db4340Torne (Richard Coles)pushd ${NACLPORTS_DIR}/src 7246d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles)# Do a 'clean' first, since previous lua build from the naclports bundle 7346d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles)# building might be installed in the toolchain, and that one is built 7446d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles)# without readline support. 7546d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles)make TOOLCHAIN=pnacl clean 76cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)make TOOLCHAIN=pnacl lua-ppapi 771e9bf3e0803691d0a228da41fc608347b6db4340Torne (Richard Coles)popd 781e9bf3e0803691d0a228da41fc608347b6db4340Torne (Richard Coles) 791e9bf3e0803691d0a228da41fc608347b6db4340Torne (Richard Coles)Banner Done! 80