1be96565d929af53b8009014fbec224004c64e4faStephen Hines#!/bin/bash 2be96565d929af53b8009014fbec224004c64e4faStephen Hines 3be96565d929af53b8009014fbec224004c64e4faStephen Hines# We are currently in frameworks/rs, so compute our top-level directory. 4be96565d929af53b8009014fbec224004c64e4faStephen HinesMY_ANDROID_DIR=$PWD/../../ 5be96565d929af53b8009014fbec224004c64e4faStephen Hinescd $MY_ANDROID_DIR 6be96565d929af53b8009014fbec224004c64e4faStephen Hines 7f149b326108cf89a5d0298729c256a5ea96a4300Miao Wangif [[ $OSTYPE == darwin* ]]; 8a3957aa5ce87ce28fccc758b8410528c2cad0c41Stephen Hinesthen 9a3957aa5ce87ce28fccc758b8410528c2cad0c41Stephen Hines 10a3957aa5ce87ce28fccc758b8410528c2cad0c41Stephen Hines DARWIN=1 11a3957aa5ce87ce28fccc758b8410528c2cad0c41Stephen Hines SHORT_OSNAME=darwin 12a3957aa5ce87ce28fccc758b8410528c2cad0c41Stephen Hines SONAME=dylib 13a3957aa5ce87ce28fccc758b8410528c2cad0c41Stephen Hines # Only build arm on darwin. 14a3957aa5ce87ce28fccc758b8410528c2cad0c41Stephen Hines TARGETS=(arm) 15a3957aa5ce87ce28fccc758b8410528c2cad0c41Stephen Hines SYS_NAMES=(generic) 16971d42af252f7f3e11144e472e0ac3fc313c73a4Stephen Hines NUM_CORES=`sysctl -n hw.ncpu` 17a3957aa5ce87ce28fccc758b8410528c2cad0c41Stephen Hines 18a3957aa5ce87ce28fccc758b8410528c2cad0c41Stephen Hineselse 19a3957aa5ce87ce28fccc758b8410528c2cad0c41Stephen Hines 20a3957aa5ce87ce28fccc758b8410528c2cad0c41Stephen Hines DARWIN=0 21a3957aa5ce87ce28fccc758b8410528c2cad0c41Stephen Hines SHORT_OSNAME=linux 22a3957aa5ce87ce28fccc758b8410528c2cad0c41Stephen Hines SONAME=so 23a3957aa5ce87ce28fccc758b8410528c2cad0c41Stephen Hines # Target architectures and their system library names. 2497d6bec4a142463cbb0769484b369a0368f4480ePirama Arumuga Nainar TARGETS=(arm x86 arm64 x86_64) 2597d6bec4a142463cbb0769484b369a0368f4480ePirama Arumuga Nainar SYS_NAMES=(generic generic_x86 generic_arm64 generic_x86_64) 26971d42af252f7f3e11144e472e0ac3fc313c73a4Stephen Hines NUM_CORES=`cat /proc/cpuinfo | grep processor | tail -n 1 | cut -f 2 -d :` 27971d42af252f7f3e11144e472e0ac3fc313c73a4Stephen Hines NUM_CORES=$(($NUM_CORES+1)) 28a3957aa5ce87ce28fccc758b8410528c2cad0c41Stephen Hines 29a3957aa5ce87ce28fccc758b8410528c2cad0c41Stephen Hinesfi 30a3957aa5ce87ce28fccc758b8410528c2cad0c41Stephen Hines 31ed2d4bd3c4f3c06698003e56a262a3eee92d3d73Dan Willemsen# Make sure we build all of LLVM from scratch. 32971d42af252f7f3e11144e472e0ac3fc313c73a4Stephen Hinesexport FORCE_BUILD_LLVM_COMPONENTS=true 33971d42af252f7f3e11144e472e0ac3fc313c73a4Stephen Hines 34651a38eb254f069f28fc99b7d180756123ff3a8aPirama Arumuga Nainar# Skip building LLVM and compiler-rt tests while updating prebuilts 35651a38eb254f069f28fc99b7d180756123ff3a8aPirama Arumuga Nainarexport SKIP_LLVM_TESTS=true 36651a38eb254f069f28fc99b7d180756123ff3a8aPirama Arumuga Nainar 37d0c45801692f4ae7b90a923ed1c57a3ec8ed4cb2Miao Wang# RENDERSCRIPT_V8_JAR is the generated JAVA static lib for RenderScript Support Lib. 38d0c45801692f4ae7b90a923ed1c57a3ec8ed4cb2Miao WangRENDERSCRIPT_V8_JAR=out/target/common/obj/JAVA_LIBRARIES/android-support-v8-renderscript_intermediates/classes.jar 394581f03df1786d3a2585dabb599278b9c0257df9Miao Wang 40be96565d929af53b8009014fbec224004c64e4faStephen Hines# ANDROID_HOST_OUT is where the new prebuilts will be constructed/copied from. 41a3957aa5ce87ce28fccc758b8410528c2cad0c41Stephen HinesANDROID_HOST_OUT=$MY_ANDROID_DIR/out/host/$SHORT_OSNAME-x86/ 42be96565d929af53b8009014fbec224004c64e4faStephen Hines 43be96565d929af53b8009014fbec224004c64e4faStephen Hines# HOST_LIB_DIR allows us to pick up the built librsrt_*.bc libraries. 44be96565d929af53b8009014fbec224004c64e4faStephen HinesHOST_LIB_DIR=$ANDROID_HOST_OUT/lib 45be96565d929af53b8009014fbec224004c64e4faStephen Hines 46f7dfd22fc82c01ac59f4e61683eb231d8738bab0Tim Murray# HOST_LIB64_DIR 47f7dfd22fc82c01ac59f4e61683eb231d8738bab0Tim MurrayHOST_LIB64_DIR=$ANDROID_HOST_OUT/lib64 48f7dfd22fc82c01ac59f4e61683eb231d8738bab0Tim Murray 49be96565d929af53b8009014fbec224004c64e4faStephen Hines# PREBUILTS_DIR is where we want to copy our new files to. 50be96565d929af53b8009014fbec224004c64e4faStephen HinesPREBUILTS_DIR=$MY_ANDROID_DIR/prebuilts/sdk/ 51be96565d929af53b8009014fbec224004c64e4faStephen Hines 52be96565d929af53b8009014fbec224004c64e4faStephen Hinesprint_usage() { 5375e0547ec0818a6944496e43fa9d431f012705d7David Gross echo "USAGE: $0 [-h|--help] [-j <num>] [-n|--no-build] [--no-start] [-x]" 54be96565d929af53b8009014fbec224004c64e4faStephen Hines echo "OPTIONS:" 5575e0547ec0818a6944496e43fa9d431f012705d7David Gross echo " -j <num> : Specify parallelism for builds." 56be96565d929af53b8009014fbec224004c64e4faStephen Hines echo " -h, --help : Display this help message." 57be96565d929af53b8009014fbec224004c64e4faStephen Hines echo " -n, --no-build : Skip the build step and just copy files." 5875e0547ec0818a6944496e43fa9d431f012705d7David Gross echo " --no-start : Do not \"repo start\" a new branch for the copied files." 59be96565d929af53b8009014fbec224004c64e4faStephen Hines echo " -x : Display commands before they are executed." 60be96565d929af53b8009014fbec224004c64e4faStephen Hines} 61be96565d929af53b8009014fbec224004c64e4faStephen Hines 62be96565d929af53b8009014fbec224004c64e4faStephen Hinesbuild_rs_libs() { 63be96565d929af53b8009014fbec224004c64e4faStephen Hines echo Building for target $1 64be96565d929af53b8009014fbec224004c64e4faStephen Hines lunch $1 65be96565d929af53b8009014fbec224004c64e4faStephen Hines # Build the RS runtime libraries. 66971d42af252f7f3e11144e472e0ac3fc313c73a4Stephen Hines cd $MY_ANDROID_DIR/frameworks/rs/driver/runtime && mma -j$NUM_CORES && cd - || exit 1 67a60ca5da7314f679cc4c0c068c6430d98c4eb471Pirama Arumuga Nainar # Build libRSSupport.so 68262bbaea94577cdc58a73a83be1c1c04ddfdc832Miao Wang cd $MY_ANDROID_DIR/frameworks/rs/support && mma -j$NUM_CORES && cd - || exit 2 69d0c45801692f4ae7b90a923ed1c57a3ec8ed4cb2Miao Wang # Build android-support-v8-renderscript.jar 70d0c45801692f4ae7b90a923ed1c57a3ec8ed4cb2Miao Wang # We need to explicitly do so, since JACK won't generate a jar by default. 71d0c45801692f4ae7b90a923ed1c57a3ec8ed4cb2Miao Wang cd $MY_ANDROID_DIR && make $RENDERSCRIPT_V8_JAR -j$NUM_CORES && cd - || exit 3 72648a1c137663ef7207684d0d7009dd5518942111Stephen Hines # Build libcompiler-rt.a 73d0c45801692f4ae7b90a923ed1c57a3ec8ed4cb2Miao Wang cd $MY_ANDROID_DIR/external/compiler-rt && mma -j$NUM_CORES && cd - || exit 4 74648a1c137663ef7207684d0d7009dd5518942111Stephen Hines # Build the blas libraries. 75d0c45801692f4ae7b90a923ed1c57a3ec8ed4cb2Miao Wang cd $MY_ANDROID_DIR/external/cblas && mma -j$NUM_CORES && cd - || exit 5 76be96565d929af53b8009014fbec224004c64e4faStephen Hines} 77be96565d929af53b8009014fbec224004c64e4faStephen Hines 78a60ca5da7314f679cc4c0c068c6430d98c4eb471Pirama Arumuga Nainarbuild_rstest_compatlib() { 79a60ca5da7314f679cc4c0c068c6430d98c4eb471Pirama Arumuga Nainar echo Building for target $1 80a60ca5da7314f679cc4c0c068c6430d98c4eb471Pirama Arumuga Nainar lunch $1 81a60ca5da7314f679cc4c0c068c6430d98c4eb471Pirama Arumuga Nainar # Build a sample support application to ensure that all the pieces are up to date. 8289e35a551ee4b0bfcb3ede10da3b027dba1da7efJean-Luc Brouillet cd $MY_ANDROID_DIR/frameworks/rs/tests/java_api/RSTest_CompatLib/ && mma -j$NUM_CORES FORCE_BUILD_RS_COMPAT=true && cd - || exit 6 83a60ca5da7314f679cc4c0c068c6430d98c4eb471Pirama Arumuga Nainar} 84a60ca5da7314f679cc4c0c068c6430d98c4eb471Pirama Arumuga Nainar 85a60ca5da7314f679cc4c0c068c6430d98c4eb471Pirama Arumuga Nainarbuild_rs_host_tools() { 86a60ca5da7314f679cc4c0c068c6430d98c4eb471Pirama Arumuga Nainar echo "Building RS host tools (llvm-rs-cc and bcc_compat)" 87a60ca5da7314f679cc4c0c068c6430d98c4eb471Pirama Arumuga Nainar lunch aosp_arm64-userdebug 88a60ca5da7314f679cc4c0c068c6430d98c4eb471Pirama Arumuga Nainar 89a60ca5da7314f679cc4c0c068c6430d98c4eb471Pirama Arumuga Nainar cd $MY_ANDROID_DIR/frameworks/compile/slang && mma -j$NUM_CORES && cd - || exit 7 90a60ca5da7314f679cc4c0c068c6430d98c4eb471Pirama Arumuga Nainar cd $MY_ANDROID_DIR/frameworks/compile/libbcc && mma -j$NUM_CORES && cd - || exit 8 91a60ca5da7314f679cc4c0c068c6430d98c4eb471Pirama Arumuga Nainar} 92a60ca5da7314f679cc4c0c068c6430d98c4eb471Pirama Arumuga Nainar 93be96565d929af53b8009014fbec224004c64e4faStephen Hines# Build everything by default 94be96565d929af53b8009014fbec224004c64e4faStephen Hinesbuild_rs=1 95be96565d929af53b8009014fbec224004c64e4faStephen Hines 9675e0547ec0818a6944496e43fa9d431f012705d7David Gross# repo start by default 9775e0547ec0818a6944496e43fa9d431f012705d7David Grossrepo_start=1 9875e0547ec0818a6944496e43fa9d431f012705d7David Gross 99be96565d929af53b8009014fbec224004c64e4faStephen Hineswhile [ $# -gt 0 ]; do 100be96565d929af53b8009014fbec224004c64e4faStephen Hines case "$1" in 101be96565d929af53b8009014fbec224004c64e4faStephen Hines -h|--help) 102be96565d929af53b8009014fbec224004c64e4faStephen Hines print_usage 103be96565d929af53b8009014fbec224004c64e4faStephen Hines exit 0 104be96565d929af53b8009014fbec224004c64e4faStephen Hines ;; 10575e0547ec0818a6944496e43fa9d431f012705d7David Gross -j) 10675e0547ec0818a6944496e43fa9d431f012705d7David Gross if [[ $# -gt 1 && "$2" =~ ^[0-9]+$ ]]; then 10775e0547ec0818a6944496e43fa9d431f012705d7David Gross NUM_CORES="$2" 10875e0547ec0818a6944496e43fa9d431f012705d7David Gross shift 10975e0547ec0818a6944496e43fa9d431f012705d7David Gross else 11075e0547ec0818a6944496e43fa9d431f012705d7David Gross echo Expected numeric argument after "$1" 11175e0547ec0818a6944496e43fa9d431f012705d7David Gross print_usage 11275e0547ec0818a6944496e43fa9d431f012705d7David Gross exit 99 11375e0547ec0818a6944496e43fa9d431f012705d7David Gross fi 11475e0547ec0818a6944496e43fa9d431f012705d7David Gross ;; 115be96565d929af53b8009014fbec224004c64e4faStephen Hines -n|--no-build) 116be96565d929af53b8009014fbec224004c64e4faStephen Hines build_rs=0 117be96565d929af53b8009014fbec224004c64e4faStephen Hines ;; 11875e0547ec0818a6944496e43fa9d431f012705d7David Gross --no-start) 11975e0547ec0818a6944496e43fa9d431f012705d7David Gross repo_start=0 12075e0547ec0818a6944496e43fa9d431f012705d7David Gross ;; 121be96565d929af53b8009014fbec224004c64e4faStephen Hines -x) 122be96565d929af53b8009014fbec224004c64e4faStephen Hines # set lets us enable bash -x mode. 123be96565d929af53b8009014fbec224004c64e4faStephen Hines set -x 124be96565d929af53b8009014fbec224004c64e4faStephen Hines ;; 125be96565d929af53b8009014fbec224004c64e4faStephen Hines *) 126be96565d929af53b8009014fbec224004c64e4faStephen Hines echo Unknown argument: "$1" 127be96565d929af53b8009014fbec224004c64e4faStephen Hines print_usage 128be96565d929af53b8009014fbec224004c64e4faStephen Hines exit 99 129be96565d929af53b8009014fbec224004c64e4faStephen Hines break 130be96565d929af53b8009014fbec224004c64e4faStephen Hines ;; 131be96565d929af53b8009014fbec224004c64e4faStephen Hines esac 132be96565d929af53b8009014fbec224004c64e4faStephen Hines shift 133be96565d929af53b8009014fbec224004c64e4faStephen Hinesdone 134be96565d929af53b8009014fbec224004c64e4faStephen Hines 135be96565d929af53b8009014fbec224004c64e4faStephen Hinesif [ $build_rs -eq 1 ]; then 136be96565d929af53b8009014fbec224004c64e4faStephen Hines 137be96565d929af53b8009014fbec224004c64e4faStephen Hines echo !!!!!!!!!!!!!!!!!!!!!!!!!!!!! 138be96565d929af53b8009014fbec224004c64e4faStephen Hines echo !!! BUILDING RS PREBUILTS !!! 139be96565d929af53b8009014fbec224004c64e4faStephen Hines echo !!!!!!!!!!!!!!!!!!!!!!!!!!!!! 140be96565d929af53b8009014fbec224004c64e4faStephen Hines 14175e0547ec0818a6944496e43fa9d431f012705d7David Gross echo "Using $NUM_CORES cores" 14275e0547ec0818a6944496e43fa9d431f012705d7David Gross 143be96565d929af53b8009014fbec224004c64e4faStephen Hines source build/envsetup.sh 144be96565d929af53b8009014fbec224004c64e4faStephen Hines 145a60ca5da7314f679cc4c0c068c6430d98c4eb471Pirama Arumuga Nainar build_rs_host_tools 146a60ca5da7314f679cc4c0c068c6430d98c4eb471Pirama Arumuga Nainar 147be96565d929af53b8009014fbec224004c64e4faStephen Hines for t in ${TARGETS[@]}; do 148be96565d929af53b8009014fbec224004c64e4faStephen Hines build_rs_libs aosp_${t}-userdebug 149be96565d929af53b8009014fbec224004c64e4faStephen Hines done 150be96565d929af53b8009014fbec224004c64e4faStephen Hines 151be96565d929af53b8009014fbec224004c64e4faStephen Hines echo DONE BUILDING RS PREBUILTS 152be96565d929af53b8009014fbec224004c64e4faStephen Hines 153be96565d929af53b8009014fbec224004c64e4faStephen Hineselse 154be96565d929af53b8009014fbec224004c64e4faStephen Hines 155be96565d929af53b8009014fbec224004c64e4faStephen Hines echo SKIPPING BUILD OF RS PREBUILTS 156be96565d929af53b8009014fbec224004c64e4faStephen Hines 157be96565d929af53b8009014fbec224004c64e4faStephen Hinesfi 158be96565d929af53b8009014fbec224004c64e4faStephen Hines 159be96565d929af53b8009014fbec224004c64e4faStephen Hinescd $PREBUILTS_DIR || exit 3 16075e0547ec0818a6944496e43fa9d431f012705d7David Gross 16175e0547ec0818a6944496e43fa9d431f012705d7David Gross# Verify that project is "clean" 16275e0547ec0818a6944496e43fa9d431f012705d7David Grossif [ `git status --short --untracked-files=no | wc -l` -ne 0 ]; then 16375e0547ec0818a6944496e43fa9d431f012705d7David Gross echo $PREBUILTS_DIR contains modified files -- aborting. 16475e0547ec0818a6944496e43fa9d431f012705d7David Gross git status --untracked-files=no 16575e0547ec0818a6944496e43fa9d431f012705d7David Gross exit 1 16675e0547ec0818a6944496e43fa9d431f012705d7David Grossfi 16775e0547ec0818a6944496e43fa9d431f012705d7David Gross 16875e0547ec0818a6944496e43fa9d431f012705d7David Grossif [ $repo_start -eq 1 ]; then 16975e0547ec0818a6944496e43fa9d431f012705d7David Gross DATE=`date +%Y%m%d` 17075e0547ec0818a6944496e43fa9d431f012705d7David Gross repo start pb_$DATE . 17175e0547ec0818a6944496e43fa9d431f012705d7David Gross if [ $? -ne 0 ]; then 17275e0547ec0818a6944496e43fa9d431f012705d7David Gross echo repo start failed -- aborting. 17375e0547ec0818a6944496e43fa9d431f012705d7David Gross exit 1 17475e0547ec0818a6944496e43fa9d431f012705d7David Gross fi 17575e0547ec0818a6944496e43fa9d431f012705d7David Grossfi 176be96565d929af53b8009014fbec224004c64e4faStephen Hines 177a3957aa5ce87ce28fccc758b8410528c2cad0c41Stephen Hines# Don't copy device prebuilts on Darwin. We don't need/use them. 178a3957aa5ce87ce28fccc758b8410528c2cad0c41Stephen Hinesif [ $DARWIN -eq 0 ]; then 179a3957aa5ce87ce28fccc758b8410528c2cad0c41Stephen Hines for i in $(seq 0 $((${#TARGETS[@]} - 1))); do 180a3957aa5ce87ce28fccc758b8410528c2cad0c41Stephen Hines t=${TARGETS[$i]} 181648a1c137663ef7207684d0d7009dd5518942111Stephen Hines sys_name=${SYS_NAMES[$i]} 182d0c45801692f4ae7b90a923ed1c57a3ec8ed4cb2Miao Wang case "$sys_name" in 183648a1c137663ef7207684d0d7009dd5518942111Stephen Hines *64) 184648a1c137663ef7207684d0d7009dd5518942111Stephen Hines sys_lib_dir=$MY_ANDROID_DIR/out/target/product/$sys_name/system/lib64 185648a1c137663ef7207684d0d7009dd5518942111Stephen Hines ;; 186648a1c137663ef7207684d0d7009dd5518942111Stephen Hines *) 187648a1c137663ef7207684d0d7009dd5518942111Stephen Hines sys_lib_dir=$MY_ANDROID_DIR/out/target/product/$sys_name/system/lib 188648a1c137663ef7207684d0d7009dd5518942111Stephen Hines ;; 189648a1c137663ef7207684d0d7009dd5518942111Stephen Hines esac 190ed2d4bd3c4f3c06698003e56a262a3eee92d3d73Dan Willemsen obj_lib_dir=$MY_ANDROID_DIR/out/target/product/$sys_name/obj/SHARED_LIBRARIES 191648a1c137663ef7207684d0d7009dd5518942111Stephen Hines obj_static_lib_dir=$MY_ANDROID_DIR/out/target/product/$sys_name/obj/STATIC_LIBRARIES 192648a1c137663ef7207684d0d7009dd5518942111Stephen Hines 193a3957aa5ce87ce28fccc758b8410528c2cad0c41Stephen Hines for a in `find renderscript/lib/$t -name \*.so`; do 194a3957aa5ce87ce28fccc758b8410528c2cad0c41Stephen Hines file=`basename $a` 195ed2d4bd3c4f3c06698003e56a262a3eee92d3d73Dan Willemsen name="${file%.*}" 196ed2d4bd3c4f3c06698003e56a262a3eee92d3d73Dan Willemsen cp $obj_lib_dir/${name}_intermediates/$file $a || exit 4 197a3957aa5ce87ce28fccc758b8410528c2cad0c41Stephen Hines done 198a3957aa5ce87ce28fccc758b8410528c2cad0c41Stephen Hines 199a3957aa5ce87ce28fccc758b8410528c2cad0c41Stephen Hines for a in `find renderscript/lib/$t -name \*.bc`; do 200a3957aa5ce87ce28fccc758b8410528c2cad0c41Stephen Hines file=`basename $a` 201f7dfd22fc82c01ac59f4e61683eb231d8738bab0Tim Murray cp `find $HOST_LIB_DIR $HOST_LIB64_DIR $sys_lib_dir $obj_lib_dir -name $file | head -1` $a || exit 5 202a3957aa5ce87ce28fccc758b8410528c2cad0c41Stephen Hines done 203648a1c137663ef7207684d0d7009dd5518942111Stephen Hines 204648a1c137663ef7207684d0d7009dd5518942111Stephen Hines for a in `find renderscript/lib/$t -name \*.a`; do 205648a1c137663ef7207684d0d7009dd5518942111Stephen Hines file=`basename $a` 206ed2d4bd3c4f3c06698003e56a262a3eee92d3d73Dan Willemsen name="${file%.*}" 207ed2d4bd3c4f3c06698003e56a262a3eee92d3d73Dan Willemsen cp $obj_static_lib_dir/${name}_intermediates/$file $a || exit 4 208648a1c137663ef7207684d0d7009dd5518942111Stephen Hines done 209648a1c137663ef7207684d0d7009dd5518942111Stephen Hines 210be96565d929af53b8009014fbec224004c64e4faStephen Hines done 211be96565d929af53b8009014fbec224004c64e4faStephen Hines 212a3957aa5ce87ce28fccc758b8410528c2cad0c41Stephen Hines # javalib.jar 213d0c45801692f4ae7b90a923ed1c57a3ec8ed4cb2Miao Wang cp $MY_ANDROID_DIR/$RENDERSCRIPT_V8_JAR renderscript/lib/javalib.jar 214be96565d929af53b8009014fbec224004c64e4faStephen Hines 215a3957aa5ce87ce28fccc758b8410528c2cad0c41Stephen Hinesfi 216be96565d929af53b8009014fbec224004c64e4faStephen Hines 217be96565d929af53b8009014fbec224004c64e4faStephen Hines# Copy header files for compilers 218be96565d929af53b8009014fbec224004c64e4faStephen Hinescp $MY_ANDROID_DIR/external/clang/lib/Headers/*.h renderscript/clang-include 2192a85b6b9d6f9cb8f1b20d573c1c5ceafe901b011Jean-Luc Brouilletcp $MY_ANDROID_DIR/frameworks/rs/script_api/include/* renderscript/include 220be96565d929af53b8009014fbec224004c64e4faStephen Hines 221be96565d929af53b8009014fbec224004c64e4faStephen Hines 222a3957aa5ce87ce28fccc758b8410528c2cad0c41Stephen Hines# Host-specific tools (bin/ and lib/) 223be96565d929af53b8009014fbec224004c64e4faStephen HinesTOOLS_BIN=" 224be96565d929af53b8009014fbec224004c64e4faStephen Hinesbcc_compat 225be96565d929af53b8009014fbec224004c64e4faStephen Hinesllvm-rs-cc 226be96565d929af53b8009014fbec224004c64e4faStephen Hines" 227be96565d929af53b8009014fbec224004c64e4faStephen Hines 228be96565d929af53b8009014fbec224004c64e4faStephen HinesTOOLS_LIB=" 229a3957aa5ce87ce28fccc758b8410528c2cad0c41Stephen Hineslibbcc.$SONAME 230a3957aa5ce87ce28fccc758b8410528c2cad0c41Stephen Hineslibbcinfo.$SONAME 23142dccd19fc9ffa187eadc3704d6c3d3e4a620330Pirama Arumuga Nainarlibclang_android.$SONAME 2321baebcdcb2f1f3d794c837166b925538fcd28acbStephen Hineslibc++.$SONAME 23342dccd19fc9ffa187eadc3704d6c3d3e4a620330Pirama Arumuga NainarlibLLVM_android.$SONAME 234be96565d929af53b8009014fbec224004c64e4faStephen Hines" 235be96565d929af53b8009014fbec224004c64e4faStephen Hines 236f562784573ebf580bc0c691509922b292e71b1d2Pirama Arumuga NainarTOOLS_LIB32="libc++.$SONAME" 237f562784573ebf580bc0c691509922b292e71b1d2Pirama Arumuga Nainar 238be96565d929af53b8009014fbec224004c64e4faStephen Hinesfor a in $TOOLS_BIN; do 239f562784573ebf580bc0c691509922b292e71b1d2Pirama Arumuga Nainar cp $ANDROID_HOST_OUT/bin/$a tools/$SHORT_OSNAME/bin 240f562784573ebf580bc0c691509922b292e71b1d2Pirama Arumuga Nainar strip tools/$SHORT_OSNAME/bin/$a 241be96565d929af53b8009014fbec224004c64e4faStephen Hinesdone 242be96565d929af53b8009014fbec224004c64e4faStephen Hines 243be96565d929af53b8009014fbec224004c64e4faStephen Hinesfor a in $TOOLS_LIB; do 244f562784573ebf580bc0c691509922b292e71b1d2Pirama Arumuga Nainar cp $HOST_LIB64_DIR/$a tools/$SHORT_OSNAME/lib64 245f562784573ebf580bc0c691509922b292e71b1d2Pirama Arumuga Nainar strip tools/$SHORT_OSNAME/lib64/$a 246f562784573ebf580bc0c691509922b292e71b1d2Pirama Arumuga Nainardone 247f562784573ebf580bc0c691509922b292e71b1d2Pirama Arumuga Nainar 248f562784573ebf580bc0c691509922b292e71b1d2Pirama Arumuga Nainarfor a in $TOOLS_LIB32; do 249f562784573ebf580bc0c691509922b292e71b1d2Pirama Arumuga Nainar cp $HOST_LIB_DIR/$a tools/$SHORT_OSNAME/lib 250f562784573ebf580bc0c691509922b292e71b1d2Pirama Arumuga Nainar strip tools/$SHORT_OSNAME/lib/$a 251be96565d929af53b8009014fbec224004c64e4faStephen Hinesdone 252be96565d929af53b8009014fbec224004c64e4faStephen Hines 253a60ca5da7314f679cc4c0c068c6430d98c4eb471Pirama Arumuga Nainarif [ $build_rs -eq 1 ]; then 254a60ca5da7314f679cc4c0c068c6430d98c4eb471Pirama Arumuga Nainar 255a60ca5da7314f679cc4c0c068c6430d98c4eb471Pirama Arumuga Nainar echo BUILDING RSTest_CompatLib with the new prebuilts 256a60ca5da7314f679cc4c0c068c6430d98c4eb471Pirama Arumuga Nainar 257a60ca5da7314f679cc4c0c068c6430d98c4eb471Pirama Arumuga Nainar echo "Using $NUM_CORES cores" 258a60ca5da7314f679cc4c0c068c6430d98c4eb471Pirama Arumuga Nainar 259a60ca5da7314f679cc4c0c068c6430d98c4eb471Pirama Arumuga Nainar source $MY_ANDROID_DIR/build/envsetup.sh 260a60ca5da7314f679cc4c0c068c6430d98c4eb471Pirama Arumuga Nainar 261a60ca5da7314f679cc4c0c068c6430d98c4eb471Pirama Arumuga Nainar for t in ${TARGETS[@]}; do 262a60ca5da7314f679cc4c0c068c6430d98c4eb471Pirama Arumuga Nainar build_rstest_compatlib aosp_${t}-userdebug 263a60ca5da7314f679cc4c0c068c6430d98c4eb471Pirama Arumuga Nainar done 264a60ca5da7314f679cc4c0c068c6430d98c4eb471Pirama Arumuga Nainar 265a60ca5da7314f679cc4c0c068c6430d98c4eb471Pirama Arumuga Nainar echo DONE BUILDING RSTest_CompatLib 266a60ca5da7314f679cc4c0c068c6430d98c4eb471Pirama Arumuga Nainar 267a60ca5da7314f679cc4c0c068c6430d98c4eb471Pirama Arumuga Nainarelse 268a60ca5da7314f679cc4c0c068c6430d98c4eb471Pirama Arumuga Nainar 269a60ca5da7314f679cc4c0c068c6430d98c4eb471Pirama Arumuga Nainar echo SKIPPING BUILD OF RSTest_CompatLib 270a60ca5da7314f679cc4c0c068c6430d98c4eb471Pirama Arumuga Nainar 271a60ca5da7314f679cc4c0c068c6430d98c4eb471Pirama Arumuga Nainarfi 272a60ca5da7314f679cc4c0c068c6430d98c4eb471Pirama Arumuga Nainar 273a3957aa5ce87ce28fccc758b8410528c2cad0c41Stephen Hinesif [ $DARWIN -eq 0 ]; then 274a3957aa5ce87ce28fccc758b8410528c2cad0c41Stephen Hines echo "DON'T FORGET TO UPDATE THE DARWIN COMPILER PREBUILTS!!!" 275a3957aa5ce87ce28fccc758b8410528c2cad0c41Stephen Hinesfi 276