Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1112)

Unified Diff: build/android/buildbot_functions.sh

Issue 9570042: Use goma for android builds. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: fix comment Created 8 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | build/android/envsetup.sh » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: build/android/buildbot_functions.sh
diff --git a/build/android/buildbot_functions.sh b/build/android/buildbot_functions.sh
index c8e54c76c1680ab9713f4f9263f487719f9e6ff0..6f3e0c555ca755f5f3827cf3f8155c7de60b0346 100755
--- a/build/android/buildbot_functions.sh
+++ b/build/android/buildbot_functions.sh
@@ -90,10 +90,70 @@ function bb_baseline_setup {
}
+# Setup goma. Used internally to buildbot_functions.sh.
+function bb_setup_goma_internal {
+ 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@@@"
+ echo "Goma not found on this machine; defaulting to make"
+ return
+ fi
+ 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
+}
+
+# $@: make args.
+# Use goma if possible; degrades to non-Goma if needed.
+function bb_goma_make {
+ bb_setup_goma_internal
+
+ if [ "${GOMA_DIR}" = "" ]; then
+ make -j${JOBS} "$@"
+ return
+ fi
+
+ HOST_CC=$GOMA_DIR/gcc
+ HOST_CXX=$GOMA_DIR/g++
+ TARGET_CC=$(/bin/ls $ANDROID_TOOLCHAIN/*-gcc | head -n1)
+ TARGET_CXX=$(/bin/ls $ANDROID_TOOLCHAIN/*-g++ | head -n1)
+ TARGET_CC="$GOMA_DIR/gomacc $TARGET_CC"
+ TARGET_CXX="$GOMA_DIR/gomacc $TARGET_CXX"
+ COMMON_JAVAC="$GOMA_DIR/gomacc /usr/bin/javac -J-Xmx512M \
+ -target 1.5 -Xmaxerrs 9999999"
+
+ make \
+ -j100 \
+ -l20 \
+ HOST_CC="$HOST_CC" \
+ HOST_CXX="$HOST_CXX" \
+ TARGET_CC="$TARGET_CC" \
+ TARGET_CXX="$TARGET_CXX" \
+ CC.host="$HOST_CC" \
+ CXX.host="$HOST_CXX" \
+ CC.target="$TARGET_CC" \
+ CXX.target="$TARGET_CXX" \
+ LINK.target="$TARGET_CXX" \
+ COMMON_JAVAC="$COMMON_JAVAC" \
+ "$@"
+}
+
# Compile step
function bb_compile {
echo "@@@BUILD_STEP Compile@@@"
- make -j${JOBS}
+ bb_goma_make
}
# Experimental compile step; does not turn the tree red if it fails.
@@ -103,7 +163,7 @@ function bb_compile_experimental {
for target in ${EXPERIMENTAL_TARGETS} ; do
echo "@@@BUILD_STEP Experimental Compile $target @@@"
set +e
- make -k -j4 "${target}"
+ bb_goma_make -k "${target}"
if [ $? -ne 0 ] ; then
echo "@@@STEP_WARNINGS@@@"
fi
« no previous file with comments | « no previous file | build/android/envsetup.sh » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698