xref: /aosp_15_r20/frameworks/rs/update_rs_prebuilts.sh (revision e1eccf28f96817838ad6867f7f39d2351ec11f56)
1*e1eccf28SAndroid Build Coastguard Worker#!/bin/bash
2*e1eccf28SAndroid Build Coastguard Worker
3*e1eccf28SAndroid Build Coastguard Worker# We are currently in frameworks/rs, so compute our top-level directory.
4*e1eccf28SAndroid Build Coastguard WorkerMY_ANDROID_DIR=$PWD/../../
5*e1eccf28SAndroid Build Coastguard Workercd $MY_ANDROID_DIR
6*e1eccf28SAndroid Build Coastguard Worker
7*e1eccf28SAndroid Build Coastguard Workerif [[ $OSTYPE == darwin* ]];
8*e1eccf28SAndroid Build Coastguard Workerthen
9*e1eccf28SAndroid Build Coastguard Worker
10*e1eccf28SAndroid Build Coastguard Worker  DARWIN=1
11*e1eccf28SAndroid Build Coastguard Worker  SHORT_OSNAME=darwin
12*e1eccf28SAndroid Build Coastguard Worker  SONAME=dylib
13*e1eccf28SAndroid Build Coastguard Worker  # Only build arm on darwin.
14*e1eccf28SAndroid Build Coastguard Worker  TARGETS=(arm)
15*e1eccf28SAndroid Build Coastguard Worker  SYS_NAMES=(generic)
16*e1eccf28SAndroid Build Coastguard Worker  NUM_CORES=`sysctl -n hw.ncpu`
17*e1eccf28SAndroid Build Coastguard Worker
18*e1eccf28SAndroid Build Coastguard Workerelse
19*e1eccf28SAndroid Build Coastguard Worker
20*e1eccf28SAndroid Build Coastguard Worker  DARWIN=0
21*e1eccf28SAndroid Build Coastguard Worker  SHORT_OSNAME=linux
22*e1eccf28SAndroid Build Coastguard Worker  SONAME=so
23*e1eccf28SAndroid Build Coastguard Worker  # Target architectures and their system library names.
24*e1eccf28SAndroid Build Coastguard Worker  TARGETS=(arm x86 arm64 x86_64)
25*e1eccf28SAndroid Build Coastguard Worker  SYS_NAMES=(generic generic_x86 generic_arm64 generic_x86_64)
26*e1eccf28SAndroid Build Coastguard Worker  NUM_CORES=`cat /proc/cpuinfo | grep processor | tail -n 1 | cut -f 2 -d :`
27*e1eccf28SAndroid Build Coastguard Worker  NUM_CORES=$(($NUM_CORES+1))
28*e1eccf28SAndroid Build Coastguard Worker
29*e1eccf28SAndroid Build Coastguard Workerfi
30*e1eccf28SAndroid Build Coastguard Worker
31*e1eccf28SAndroid Build Coastguard Worker# Make sure we build all of LLVM from scratch.
32*e1eccf28SAndroid Build Coastguard Workerexport FORCE_BUILD_LLVM_COMPONENTS=true
33*e1eccf28SAndroid Build Coastguard Worker
34*e1eccf28SAndroid Build Coastguard Worker# Skip building LLVM and compiler-rt tests while updating prebuilts
35*e1eccf28SAndroid Build Coastguard Workerexport SKIP_LLVM_TESTS=true
36*e1eccf28SAndroid Build Coastguard Worker
37*e1eccf28SAndroid Build Coastguard Worker# RENDERSCRIPT_V8_JAR is the generated JAVA static lib for RenderScript Support Lib.
38*e1eccf28SAndroid Build Coastguard WorkerRENDERSCRIPT_V8_JAR=out/target/common/obj/JAVA_LIBRARIES/android-support-v8-renderscript_intermediates/classes.jar
39*e1eccf28SAndroid Build Coastguard Worker
40*e1eccf28SAndroid Build Coastguard Worker# ANDROID_HOST_OUT is where the new prebuilts will be constructed/copied from.
41*e1eccf28SAndroid Build Coastguard WorkerANDROID_HOST_OUT=$MY_ANDROID_DIR/out/host/$SHORT_OSNAME-x86/
42*e1eccf28SAndroid Build Coastguard Worker
43*e1eccf28SAndroid Build Coastguard Worker# HOST_LIB_DIR allows us to pick up the built librsrt_*.bc libraries.
44*e1eccf28SAndroid Build Coastguard WorkerHOST_LIB_DIR=$ANDROID_HOST_OUT/lib
45*e1eccf28SAndroid Build Coastguard Worker
46*e1eccf28SAndroid Build Coastguard Worker# HOST_LIB64_DIR
47*e1eccf28SAndroid Build Coastguard WorkerHOST_LIB64_DIR=$ANDROID_HOST_OUT/lib64
48*e1eccf28SAndroid Build Coastguard Worker
49*e1eccf28SAndroid Build Coastguard Worker# PREBUILTS_DIR is where we want to copy our new files to.
50*e1eccf28SAndroid Build Coastguard WorkerPREBUILTS_DIR=$MY_ANDROID_DIR/prebuilts/sdk/
51*e1eccf28SAndroid Build Coastguard Worker
52*e1eccf28SAndroid Build Coastguard Workerprint_usage() {
53*e1eccf28SAndroid Build Coastguard Worker  echo "USAGE: $0 [-h|--help] [-j <num>] [-n|--no-build] [--no-start] [-x]"
54*e1eccf28SAndroid Build Coastguard Worker  echo "OPTIONS:"
55*e1eccf28SAndroid Build Coastguard Worker  echo "    -j <num>       : Specify parallelism for builds."
56*e1eccf28SAndroid Build Coastguard Worker  echo "    -h, --help     : Display this help message."
57*e1eccf28SAndroid Build Coastguard Worker  echo "    -n, --no-build : Skip the build step and just copy files."
58*e1eccf28SAndroid Build Coastguard Worker  echo "    --no-start     : Do not \"repo start\" a new branch for the copied files."
59*e1eccf28SAndroid Build Coastguard Worker  echo "    -x             : Display commands before they are executed."
60*e1eccf28SAndroid Build Coastguard Worker}
61*e1eccf28SAndroid Build Coastguard Worker
62*e1eccf28SAndroid Build Coastguard Workerbuild_rs_libs() {
63*e1eccf28SAndroid Build Coastguard Worker  echo Building for target $1
64*e1eccf28SAndroid Build Coastguard Worker  lunch $1
65*e1eccf28SAndroid Build Coastguard Worker  # Build the RS runtime libraries.
66*e1eccf28SAndroid Build Coastguard Worker  cd $MY_ANDROID_DIR/frameworks/rs/driver/runtime && mma -j$NUM_CORES && cd - || exit 1
67*e1eccf28SAndroid Build Coastguard Worker  # Build libRSSupport.so
68*e1eccf28SAndroid Build Coastguard Worker  cd $MY_ANDROID_DIR/frameworks/rs/support && mma -j$NUM_CORES && cd - || exit 2
69*e1eccf28SAndroid Build Coastguard Worker  # Build android-support-v8-renderscript.jar
70*e1eccf28SAndroid Build Coastguard Worker  # We need to explicitly do so, since JACK won't generate a jar by default.
71*e1eccf28SAndroid Build Coastguard Worker  cd $MY_ANDROID_DIR && make $RENDERSCRIPT_V8_JAR -j$NUM_CORES && cd - || exit 3
72*e1eccf28SAndroid Build Coastguard Worker  # Build libcompiler-rt.a
73*e1eccf28SAndroid Build Coastguard Worker  cd $MY_ANDROID_DIR/external/compiler-rt && mma -j$NUM_CORES && cd - || exit 4
74*e1eccf28SAndroid Build Coastguard Worker  # Build the blas libraries.
75*e1eccf28SAndroid Build Coastguard Worker  cd $MY_ANDROID_DIR/external/cblas && mma -j$NUM_CORES && cd - || exit 5
76*e1eccf28SAndroid Build Coastguard Worker}
77*e1eccf28SAndroid Build Coastguard Worker
78*e1eccf28SAndroid Build Coastguard Workerbuild_rstest_compatlib() {
79*e1eccf28SAndroid Build Coastguard Worker  echo Building for target $1
80*e1eccf28SAndroid Build Coastguard Worker  lunch $1
81*e1eccf28SAndroid Build Coastguard Worker  # Build a sample support application to ensure that all the pieces are up to date.
82*e1eccf28SAndroid Build Coastguard Worker  cd $MY_ANDROID_DIR/frameworks/rs/tests/java_api/RSTest_CompatLib/ && mma -j$NUM_CORES FORCE_BUILD_RS_COMPAT=true && cd - || exit 6
83*e1eccf28SAndroid Build Coastguard Worker}
84*e1eccf28SAndroid Build Coastguard Worker
85*e1eccf28SAndroid Build Coastguard Workerbuild_rs_host_tools() {
86*e1eccf28SAndroid Build Coastguard Worker  echo "Building RS host tools (llvm-rs-cc and bcc_compat)"
87*e1eccf28SAndroid Build Coastguard Worker  lunch aosp_arm64-userdebug
88*e1eccf28SAndroid Build Coastguard Worker
89*e1eccf28SAndroid Build Coastguard Worker  cd $MY_ANDROID_DIR/frameworks/compile/slang && mma -j$NUM_CORES && cd - || exit 7
90*e1eccf28SAndroid Build Coastguard Worker  cd $MY_ANDROID_DIR/frameworks/compile/libbcc && mma -j$NUM_CORES && cd - || exit 8
91*e1eccf28SAndroid Build Coastguard Worker}
92*e1eccf28SAndroid Build Coastguard Worker
93*e1eccf28SAndroid Build Coastguard Worker# Build everything by default
94*e1eccf28SAndroid Build Coastguard Workerbuild_rs=1
95*e1eccf28SAndroid Build Coastguard Worker
96*e1eccf28SAndroid Build Coastguard Worker# repo start by default
97*e1eccf28SAndroid Build Coastguard Workerrepo_start=1
98*e1eccf28SAndroid Build Coastguard Worker
99*e1eccf28SAndroid Build Coastguard Workerwhile [ $# -gt 0 ]; do
100*e1eccf28SAndroid Build Coastguard Worker  case "$1" in
101*e1eccf28SAndroid Build Coastguard Worker    -h|--help)
102*e1eccf28SAndroid Build Coastguard Worker      print_usage
103*e1eccf28SAndroid Build Coastguard Worker      exit 0
104*e1eccf28SAndroid Build Coastguard Worker      ;;
105*e1eccf28SAndroid Build Coastguard Worker    -j)
106*e1eccf28SAndroid Build Coastguard Worker      if [[ $# -gt 1 && "$2" =~  ^[0-9]+$ ]]; then
107*e1eccf28SAndroid Build Coastguard Worker        NUM_CORES="$2"
108*e1eccf28SAndroid Build Coastguard Worker        shift
109*e1eccf28SAndroid Build Coastguard Worker      else
110*e1eccf28SAndroid Build Coastguard Worker        echo Expected numeric argument after "$1"
111*e1eccf28SAndroid Build Coastguard Worker        print_usage
112*e1eccf28SAndroid Build Coastguard Worker        exit 99
113*e1eccf28SAndroid Build Coastguard Worker      fi
114*e1eccf28SAndroid Build Coastguard Worker      ;;
115*e1eccf28SAndroid Build Coastguard Worker    -n|--no-build)
116*e1eccf28SAndroid Build Coastguard Worker      build_rs=0
117*e1eccf28SAndroid Build Coastguard Worker      ;;
118*e1eccf28SAndroid Build Coastguard Worker    --no-start)
119*e1eccf28SAndroid Build Coastguard Worker      repo_start=0
120*e1eccf28SAndroid Build Coastguard Worker      ;;
121*e1eccf28SAndroid Build Coastguard Worker    -x)
122*e1eccf28SAndroid Build Coastguard Worker      # set lets us enable bash -x mode.
123*e1eccf28SAndroid Build Coastguard Worker      set -x
124*e1eccf28SAndroid Build Coastguard Worker      ;;
125*e1eccf28SAndroid Build Coastguard Worker    *)
126*e1eccf28SAndroid Build Coastguard Worker      echo Unknown argument: "$1"
127*e1eccf28SAndroid Build Coastguard Worker      print_usage
128*e1eccf28SAndroid Build Coastguard Worker      exit 99
129*e1eccf28SAndroid Build Coastguard Worker      break
130*e1eccf28SAndroid Build Coastguard Worker      ;;
131*e1eccf28SAndroid Build Coastguard Worker  esac
132*e1eccf28SAndroid Build Coastguard Worker  shift
133*e1eccf28SAndroid Build Coastguard Workerdone
134*e1eccf28SAndroid Build Coastguard Worker
135*e1eccf28SAndroid Build Coastguard Workerif [ $build_rs -eq 1 ]; then
136*e1eccf28SAndroid Build Coastguard Worker
137*e1eccf28SAndroid Build Coastguard Worker  echo !!!!!!!!!!!!!!!!!!!!!!!!!!!!!
138*e1eccf28SAndroid Build Coastguard Worker  echo !!! BUILDING RS PREBUILTS !!!
139*e1eccf28SAndroid Build Coastguard Worker  echo !!!!!!!!!!!!!!!!!!!!!!!!!!!!!
140*e1eccf28SAndroid Build Coastguard Worker
141*e1eccf28SAndroid Build Coastguard Worker  echo "Using $NUM_CORES cores"
142*e1eccf28SAndroid Build Coastguard Worker
143*e1eccf28SAndroid Build Coastguard Worker  source build/envsetup.sh
144*e1eccf28SAndroid Build Coastguard Worker
145*e1eccf28SAndroid Build Coastguard Worker  build_rs_host_tools
146*e1eccf28SAndroid Build Coastguard Worker
147*e1eccf28SAndroid Build Coastguard Worker  for t in ${TARGETS[@]}; do
148*e1eccf28SAndroid Build Coastguard Worker    build_rs_libs aosp_${t}-userdebug
149*e1eccf28SAndroid Build Coastguard Worker  done
150*e1eccf28SAndroid Build Coastguard Worker
151*e1eccf28SAndroid Build Coastguard Worker  echo DONE BUILDING RS PREBUILTS
152*e1eccf28SAndroid Build Coastguard Worker
153*e1eccf28SAndroid Build Coastguard Workerelse
154*e1eccf28SAndroid Build Coastguard Worker
155*e1eccf28SAndroid Build Coastguard Worker  echo SKIPPING BUILD OF RS PREBUILTS
156*e1eccf28SAndroid Build Coastguard Worker
157*e1eccf28SAndroid Build Coastguard Workerfi
158*e1eccf28SAndroid Build Coastguard Worker
159*e1eccf28SAndroid Build Coastguard Workercd $PREBUILTS_DIR || exit 3
160*e1eccf28SAndroid Build Coastguard Worker
161*e1eccf28SAndroid Build Coastguard Worker# Verify that project is "clean"
162*e1eccf28SAndroid Build Coastguard Workerif [ `git status --short --untracked-files=no | wc -l` -ne 0 ]; then
163*e1eccf28SAndroid Build Coastguard Worker  echo $PREBUILTS_DIR contains modified files -- aborting.
164*e1eccf28SAndroid Build Coastguard Worker  git status --untracked-files=no
165*e1eccf28SAndroid Build Coastguard Worker  exit 1
166*e1eccf28SAndroid Build Coastguard Workerfi
167*e1eccf28SAndroid Build Coastguard Worker
168*e1eccf28SAndroid Build Coastguard Workerif [ $repo_start -eq 1 ]; then
169*e1eccf28SAndroid Build Coastguard Worker  DATE=`date +%Y%m%d`
170*e1eccf28SAndroid Build Coastguard Worker  repo start pb_$DATE .
171*e1eccf28SAndroid Build Coastguard Worker  if [ $? -ne 0 ]; then
172*e1eccf28SAndroid Build Coastguard Worker    echo repo start failed -- aborting.
173*e1eccf28SAndroid Build Coastguard Worker    exit 1
174*e1eccf28SAndroid Build Coastguard Worker  fi
175*e1eccf28SAndroid Build Coastguard Workerfi
176*e1eccf28SAndroid Build Coastguard Worker
177*e1eccf28SAndroid Build Coastguard Worker# Don't copy device prebuilts on Darwin. We don't need/use them.
178*e1eccf28SAndroid Build Coastguard Workerif [ $DARWIN -eq 0 ]; then
179*e1eccf28SAndroid Build Coastguard Worker  for i in $(seq 0 $((${#TARGETS[@]} - 1))); do
180*e1eccf28SAndroid Build Coastguard Worker    t=${TARGETS[$i]}
181*e1eccf28SAndroid Build Coastguard Worker    sys_name=${SYS_NAMES[$i]}
182*e1eccf28SAndroid Build Coastguard Worker    case "$sys_name" in
183*e1eccf28SAndroid Build Coastguard Worker      *64)
184*e1eccf28SAndroid Build Coastguard Worker        sys_lib_dir=$MY_ANDROID_DIR/out/target/product/$sys_name/system/lib64
185*e1eccf28SAndroid Build Coastguard Worker        ;;
186*e1eccf28SAndroid Build Coastguard Worker      *)
187*e1eccf28SAndroid Build Coastguard Worker        sys_lib_dir=$MY_ANDROID_DIR/out/target/product/$sys_name/system/lib
188*e1eccf28SAndroid Build Coastguard Worker        ;;
189*e1eccf28SAndroid Build Coastguard Worker    esac
190*e1eccf28SAndroid Build Coastguard Worker    obj_lib_dir=$MY_ANDROID_DIR/out/target/product/$sys_name/obj/SHARED_LIBRARIES
191*e1eccf28SAndroid Build Coastguard Worker    obj_static_lib_dir=$MY_ANDROID_DIR/out/target/product/$sys_name/obj/STATIC_LIBRARIES
192*e1eccf28SAndroid Build Coastguard Worker
193*e1eccf28SAndroid Build Coastguard Worker    for a in `find renderscript/lib/$t -name \*.so`; do
194*e1eccf28SAndroid Build Coastguard Worker      file=`basename $a`
195*e1eccf28SAndroid Build Coastguard Worker      name="${file%.*}"
196*e1eccf28SAndroid Build Coastguard Worker      cp $obj_lib_dir/${name}_intermediates/$file $a || exit 4
197*e1eccf28SAndroid Build Coastguard Worker    done
198*e1eccf28SAndroid Build Coastguard Worker
199*e1eccf28SAndroid Build Coastguard Worker    for a in `find renderscript/lib/$t -name \*.bc`; do
200*e1eccf28SAndroid Build Coastguard Worker      file=`basename $a`
201*e1eccf28SAndroid Build Coastguard Worker      cp `find $HOST_LIB_DIR $HOST_LIB64_DIR $sys_lib_dir $obj_lib_dir -name $file | head -1` $a || exit 5
202*e1eccf28SAndroid Build Coastguard Worker    done
203*e1eccf28SAndroid Build Coastguard Worker
204*e1eccf28SAndroid Build Coastguard Worker    for a in `find renderscript/lib/$t -name \*.a`; do
205*e1eccf28SAndroid Build Coastguard Worker      file=`basename $a`
206*e1eccf28SAndroid Build Coastguard Worker      name="${file%.*}"
207*e1eccf28SAndroid Build Coastguard Worker      cp $obj_static_lib_dir/${name}_intermediates/$file $a || exit 4
208*e1eccf28SAndroid Build Coastguard Worker    done
209*e1eccf28SAndroid Build Coastguard Worker
210*e1eccf28SAndroid Build Coastguard Worker  done
211*e1eccf28SAndroid Build Coastguard Worker
212*e1eccf28SAndroid Build Coastguard Worker  # javalib.jar
213*e1eccf28SAndroid Build Coastguard Worker  cp $MY_ANDROID_DIR/$RENDERSCRIPT_V8_JAR renderscript/lib/javalib.jar
214*e1eccf28SAndroid Build Coastguard Worker
215*e1eccf28SAndroid Build Coastguard Workerfi
216*e1eccf28SAndroid Build Coastguard Worker
217*e1eccf28SAndroid Build Coastguard Worker# Copy header files for compilers
218*e1eccf28SAndroid Build Coastguard Workercp $MY_ANDROID_DIR/external/clang/lib/Headers/*.h renderscript/clang-include
219*e1eccf28SAndroid Build Coastguard Workercp $MY_ANDROID_DIR/frameworks/rs/script_api/include/* renderscript/include
220*e1eccf28SAndroid Build Coastguard Worker
221*e1eccf28SAndroid Build Coastguard Worker
222*e1eccf28SAndroid Build Coastguard Worker# Host-specific tools (bin/ and lib/)
223*e1eccf28SAndroid Build Coastguard WorkerTOOLS_BIN="
224*e1eccf28SAndroid Build Coastguard Workerbcc_compat
225*e1eccf28SAndroid Build Coastguard Workerllvm-rs-cc
226*e1eccf28SAndroid Build Coastguard Worker"
227*e1eccf28SAndroid Build Coastguard Worker
228*e1eccf28SAndroid Build Coastguard WorkerTOOLS_LIB="
229*e1eccf28SAndroid Build Coastguard Workerlibbcc.$SONAME
230*e1eccf28SAndroid Build Coastguard Workerlibbcinfo.$SONAME
231*e1eccf28SAndroid Build Coastguard Workerlibclang_android.$SONAME
232*e1eccf28SAndroid Build Coastguard Workerlibc++.$SONAME
233*e1eccf28SAndroid Build Coastguard WorkerlibLLVM_android.$SONAME
234*e1eccf28SAndroid Build Coastguard Worker"
235*e1eccf28SAndroid Build Coastguard Worker
236*e1eccf28SAndroid Build Coastguard WorkerTOOLS_LIB32="libc++.$SONAME"
237*e1eccf28SAndroid Build Coastguard Worker
238*e1eccf28SAndroid Build Coastguard Workerfor a in $TOOLS_BIN; do
239*e1eccf28SAndroid Build Coastguard Worker  cp $ANDROID_HOST_OUT/bin/$a tools/$SHORT_OSNAME/bin
240*e1eccf28SAndroid Build Coastguard Worker  strip tools/$SHORT_OSNAME/bin/$a
241*e1eccf28SAndroid Build Coastguard Workerdone
242*e1eccf28SAndroid Build Coastguard Worker
243*e1eccf28SAndroid Build Coastguard Workerfor a in $TOOLS_LIB; do
244*e1eccf28SAndroid Build Coastguard Worker  cp $HOST_LIB64_DIR/$a tools/$SHORT_OSNAME/lib64
245*e1eccf28SAndroid Build Coastguard Worker  strip tools/$SHORT_OSNAME/lib64/$a
246*e1eccf28SAndroid Build Coastguard Workerdone
247*e1eccf28SAndroid Build Coastguard Worker
248*e1eccf28SAndroid Build Coastguard Workerfor a in $TOOLS_LIB32; do
249*e1eccf28SAndroid Build Coastguard Worker  cp $HOST_LIB_DIR/$a tools/$SHORT_OSNAME/lib
250*e1eccf28SAndroid Build Coastguard Worker  strip tools/$SHORT_OSNAME/lib/$a
251*e1eccf28SAndroid Build Coastguard Workerdone
252*e1eccf28SAndroid Build Coastguard Worker
253*e1eccf28SAndroid Build Coastguard Workerif [ $build_rs -eq 1 ]; then
254*e1eccf28SAndroid Build Coastguard Worker
255*e1eccf28SAndroid Build Coastguard Worker  echo BUILDING RSTest_CompatLib with the new prebuilts
256*e1eccf28SAndroid Build Coastguard Worker
257*e1eccf28SAndroid Build Coastguard Worker  echo "Using $NUM_CORES cores"
258*e1eccf28SAndroid Build Coastguard Worker
259*e1eccf28SAndroid Build Coastguard Worker  source $MY_ANDROID_DIR/build/envsetup.sh
260*e1eccf28SAndroid Build Coastguard Worker
261*e1eccf28SAndroid Build Coastguard Worker  for t in ${TARGETS[@]}; do
262*e1eccf28SAndroid Build Coastguard Worker    build_rstest_compatlib aosp_${t}-userdebug
263*e1eccf28SAndroid Build Coastguard Worker  done
264*e1eccf28SAndroid Build Coastguard Worker
265*e1eccf28SAndroid Build Coastguard Worker  echo DONE BUILDING RSTest_CompatLib
266*e1eccf28SAndroid Build Coastguard Worker
267*e1eccf28SAndroid Build Coastguard Workerelse
268*e1eccf28SAndroid Build Coastguard Worker
269*e1eccf28SAndroid Build Coastguard Worker  echo SKIPPING BUILD OF RSTest_CompatLib
270*e1eccf28SAndroid Build Coastguard Worker
271*e1eccf28SAndroid Build Coastguard Workerfi
272*e1eccf28SAndroid Build Coastguard Worker
273*e1eccf28SAndroid Build Coastguard Workerif [ $DARWIN -eq 0 ]; then
274*e1eccf28SAndroid Build Coastguard Worker  echo "DON'T FORGET TO UPDATE THE DARWIN COMPILER PREBUILTS!!!"
275*e1eccf28SAndroid Build Coastguard Workerfi
276