| Index: build/android/buildbot_functions.sh
|
| diff --git a/build/android/buildbot_functions.sh b/build/android/buildbot_functions.sh
|
| index 0b6f51fe69697f5ac18081d634439a83717c3900..77d8dd6e687b0b33c460b85c7cf25520e7d8b55f 100755
|
| --- a/build/android/buildbot_functions.sh
|
| +++ b/build/android/buildbot_functions.sh
|
| @@ -21,6 +21,7 @@ function bb_parse_args {
|
| case "$1" in
|
| --factory-properties=*)
|
| FACTORY_PROPERTIES="$(echo "$1" | sed 's/^[^=]*=//')"
|
| + BUILDTYPE=$(bb_get_json_prop "$FACTORY_PROPERTIES" target)
|
| ;;
|
| --build-properties=*)
|
| BUILD_PROPERTIES="$(echo "$1" | sed 's/^[^=]*=//')"
|
| @@ -84,6 +85,11 @@ function bb_baseline_setup {
|
| NEED_CLOBBER=1
|
| fi
|
|
|
| + local BUILDTOOL=$(bb_get_json_prop "$FACTORY_PROPERTIES" buildtool)
|
| + if [ $BUILDTOOL = "ninja" ]; then
|
| + export GYP_GENERATORS=ninja
|
| + fi
|
| +
|
| . build/android/envsetup.sh
|
|
|
| if [ "$NEED_CLOBBER" -eq 1 ]; then
|
| @@ -152,14 +158,11 @@ function bb_stop_goma_internal {
|
| # $@: 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
|
|
|
| - BUILDTYPE=$(bb_get_json_prop "$FACTORY_PROPERTIES" target)
|
| HOST_CC=$GOMA_DIR/gcc
|
| HOST_CXX=$GOMA_DIR/g++
|
| TARGET_CC=$(/bin/ls $ANDROID_TOOLCHAIN/*-gcc | head -n1)
|
| @@ -186,16 +189,31 @@ function bb_goma_make {
|
| "$@"
|
|
|
| local make_exit_code=$?
|
| - bb_stop_goma_internal
|
| return $make_exit_code
|
| }
|
|
|
| +# Build using ninja.
|
| +function bb_goma_ninja {
|
| + echo "Using ninja to build."
|
| + ninja -C out/$BUILDTYPE -j120 -l20 All
|
| +}
|
| +
|
| # Compile step
|
| function bb_compile {
|
| # This must be named 'compile', not 'Compile', for CQ interaction.
|
| # Talk to maruel for details.
|
| echo "@@@BUILD_STEP compile@@@"
|
| - bb_goma_make
|
| +
|
| + bb_setup_goma_internal
|
| +
|
| + BUILDTOOL=$(bb_get_json_prop "$FACTORY_PROPERTIES" buildtool)
|
| + if [ $BUILDTOOL = "ninja" ]; then
|
| + bb_goma_ninja
|
| + else
|
| + bb_goma_make
|
| + fi
|
| +
|
| + bb_stop_goma_internal
|
| }
|
|
|
| # Experimental compile step; does not turn the tree red if it fails.
|
| @@ -327,5 +345,5 @@ function bb_get_json_prop {
|
| local JSON="$1"
|
| local PROP="$2"
|
|
|
| - python -c "import json; print json.loads('$JSON')['$PROP']"
|
| + python -c "import json; print json.loads('$JSON').get('$PROP')"
|
| }
|
|
|