summaryrefslogtreecommitdiffstats
path: root/build
diff options
context:
space:
mode:
authorjrg@chromium.org <jrg@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-03-21 07:09:49 +0000
committerjrg@chromium.org <jrg@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-03-21 07:09:49 +0000
commit985111b29ef6e0c747ebc08352ba13224ba10d0e (patch)
tree348e9623b45344ada243e69b339585556a557035 /build
parentfb7ec648730a491a9342fe4200bc5304cd72bbc4 (diff)
downloadchromium_src-985111b29ef6e0c747ebc08352ba13224ba10d0e.zip
chromium_src-985111b29ef6e0c747ebc08352ba13224ba10d0e.tar.gz
chromium_src-985111b29ef6e0c747ebc08352ba13224ba10d0e.tar.bz2
Enable goma for Android. Fix non-goma 'make' builds.
BUG=None TEST= Review URL: http://codereview.chromium.org/9693016 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@127919 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'build')
-rwxr-xr-xbuild/android/buildbot_functions.sh60
1 files changed, 40 insertions, 20 deletions
diff --git a/build/android/buildbot_functions.sh b/build/android/buildbot_functions.sh
index a53b315..c830e58 100755
--- a/build/android/buildbot_functions.sh
+++ b/build/android/buildbot_functions.sh
@@ -60,7 +60,9 @@ function bb_baseline_setup {
echo "@@@BUILD_STEP Basic setup@@@"
bb_setup_environment
- for mandatory_directory in "${ANDROID_SDK_ROOT}" "${ANDROID_NDK_ROOT}" ; do
+
+ for mandatory_directory in $(dirname "${ANDROID_SDK_ROOT}") \
+ $(dirname "${ANDROID_NDK_ROOT}") ; do
if [[ ! -d "${mandatory_directory}" ]]; then
echo "Directory ${mandatory_directory} does not exist."
echo "Build cannot continue."
@@ -73,6 +75,11 @@ function bb_baseline_setup {
NEED_CLOBBER=1
fi
+ # Setting up a new bot? Must do this before envsetup.sh
+ if [ ! -d "${ANDROID_NDK_ROOT}" ] ; then
+ bb_install_build_deps $1
+ fi
+
echo "@@@BUILD_STEP Configure with envsetup.sh@@@"
. build/android/envsetup.sh
@@ -92,11 +99,25 @@ function bb_baseline_setup {
# Setup goma. Used internally to buildbot_functions.sh.
function bb_setup_goma_internal {
+
+ # Quick bail if I messed things up and can't wait for the CQ to
+ # flush out.
+ # TODO(jrg): remove this condition when things are
+ # proven stable (4/1/12 or so).
+ if [ -f /usr/local/google/DISABLE_GOMA ]; then
+ echo "@@@STEP_WARNINGS@@@"
+ echo "Goma disabled with a local file"
+ return
+ fi
+
+ goma_dir=${goma_dir:-/b/build/goma}
+ if [ -f ${goma_dir}/goma.key ]; then
+ export GOMA_API_KEY_FILE=${GOMA_DIR}/goma.key
+ fi
local goma_ctl=$(which goma_ctl.sh)
if [ "${goma_ctl}" != "" ]; then
local goma_dir=$(dirname ${goma_ctl})
fi
- goma_dir=${goma_dir:-/b/build/goma}
if [ ! -f ${goma_dir}/goma_ctl.sh ]; then
echo "@@@STEP_WARNINGS@@@"
@@ -106,31 +127,28 @@ function bb_setup_goma_internal {
export GOMA_DIR=${goma_dir}
echo "GOMA_DIR: " $GOMA_DIR
- ${GOMA_DIR}/goma_ctl.sh start
- if [ -f ${goma_dir}/goma.key ]; then
- export GOMA_API_KEY_FILE=${GOMA_DIR}/goma.key
- fi
export GOMA_COMPILER_PROXY_DAEMON_MODE=true
export GOMA_COMPILER_PROXY_RPC_TIMEOUT_SECS=300
export PATH=$GOMA_DIR:$PATH
+
+ echo "Starting goma"
+ if [ "$NEED_CLOBBER" -eq 1 ]; then
+ ${GOMA_DIR}/goma_ctl.sh restart
+ else
+ ${GOMA_DIR}/goma_ctl.sh ensure_start
+ fi
+ trap bb_stop_goma_internal SIGHUP SIGINT SIGTERM
+}
+
+# Stop goma.
+function bb_stop_goma_internal {
+ echo "Stopping goma"
+ ${GOMA_DIR}/goma_ctl.sh stop
}
# $@: make args.
# Use goma if possible; degrades to non-Goma if needed.
function bb_goma_make {
- # Disable Goma
- # Seems to work on "Android FYI"
- # http://build.chromium.org/p/chromium.fyi/builders/Chromium%20Linux%20Android/builds/6421/steps/Compile/logs/stdio
- # and Linux trybots
- # http://build.chromium.org/p/chromium/builders/Linux%20x64/builds/23995/steps/compile/logs/stdio
- # But not on Android trybots?
- # http://build.chromium.org/p/tryserver.chromium/builders/android/builds/2136/steps/Compile/logs/stdio
- make -j${JOBS} "$@"
- return
-
- # TODO(bulach): to use goma, we need to:
- # GOMA_DIR=... android_gyp
- # PATH=$GOMA_DIR:$PATH make -j${JOBS} "$@"
bb_setup_goma_internal
if [ "${GOMA_DIR}" = "" ]; then
@@ -147,7 +165,7 @@ function bb_goma_make {
COMMON_JAVAC="$GOMA_DIR/gomacc /usr/bin/javac -J-Xmx512M \
-target 1.5 -Xmaxerrs 9999999"
- make \
+ command make \
-j100 \
-l20 \
HOST_CC="$HOST_CC" \
@@ -161,6 +179,8 @@ function bb_goma_make {
LINK.target="$TARGET_CXX" \
COMMON_JAVAC="$COMMON_JAVAC" \
"$@"
+
+ bb_stop_goma_internal
}
# Compile step