update_rs_prebuilts.sh revision 2a85b6b9d6f9cb8f1b20d573c1c5ceafe901b011
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. 2438b26af049b78923b8adf17da526219e47c8799eMiao Wang TARGETS=(arm mips x86 arm64 x86_64) 2538b26af049b78923b8adf17da526219e47c8799eMiao Wang SYS_NAMES=(generic generic_mips 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 31971d42af252f7f3e11144e472e0ac3fc313c73a4Stephen Hines# Turn off the build cache and make sure we build all of LLVM from scratch. 32971d42af252f7f3e11144e472e0ac3fc313c73a4Stephen Hinesexport ANDROID_USE_BUILDCACHE=false 33971d42af252f7f3e11144e472e0ac3fc313c73a4Stephen Hinesexport FORCE_BUILD_LLVM_COMPONENTS=true 34971d42af252f7f3e11144e472e0ac3fc313c73a4Stephen Hines 35651a38eb254f069f28fc99b7d180756123ff3a8aPirama Arumuga Nainar# Skip building LLVM and compiler-rt tests while updating prebuilts 36651a38eb254f069f28fc99b7d180756123ff3a8aPirama Arumuga Nainarexport SKIP_LLVM_TESTS=true 37651a38eb254f069f28fc99b7d180756123ff3a8aPirama Arumuga Nainar 38d0c45801692f4ae7b90a923ed1c57a3ec8ed4cb2Miao Wang# RENDERSCRIPT_V8_JAR is the generated JAVA static lib for RenderScript Support Lib. 39d0c45801692f4ae7b90a923ed1c57a3ec8ed4cb2Miao WangRENDERSCRIPT_V8_JAR=out/target/common/obj/JAVA_LIBRARIES/android-support-v8-renderscript_intermediates/classes.jar 404581f03df1786d3a2585dabb599278b9c0257df9Miao Wang 41be96565d929af53b8009014fbec224004c64e4faStephen Hines# ANDROID_HOST_OUT is where the new prebuilts will be constructed/copied from. 42a3957aa5ce87ce28fccc758b8410528c2cad0c41Stephen HinesANDROID_HOST_OUT=$MY_ANDROID_DIR/out/host/$SHORT_OSNAME-x86/ 43be96565d929af53b8009014fbec224004c64e4faStephen Hines 44be96565d929af53b8009014fbec224004c64e4faStephen Hines# HOST_LIB_DIR allows us to pick up the built librsrt_*.bc libraries. 45be96565d929af53b8009014fbec224004c64e4faStephen HinesHOST_LIB_DIR=$ANDROID_HOST_OUT/lib 46be96565d929af53b8009014fbec224004c64e4faStephen Hines 47f7dfd22fc82c01ac59f4e61683eb231d8738bab0Tim Murray# HOST_LIB64_DIR 48f7dfd22fc82c01ac59f4e61683eb231d8738bab0Tim MurrayHOST_LIB64_DIR=$ANDROID_HOST_OUT/lib64 49f7dfd22fc82c01ac59f4e61683eb231d8738bab0Tim Murray 50be96565d929af53b8009014fbec224004c64e4faStephen Hines# PREBUILTS_DIR is where we want to copy our new files to. 51be96565d929af53b8009014fbec224004c64e4faStephen HinesPREBUILTS_DIR=$MY_ANDROID_DIR/prebuilts/sdk/ 52be96565d929af53b8009014fbec224004c64e4faStephen Hines 53be96565d929af53b8009014fbec224004c64e4faStephen Hinesprint_usage() { 5475e0547ec0818a6944496e43fa9d431f012705d7David Gross echo "USAGE: $0 [-h|--help] [-j <num>] [-n|--no-build] [--no-start] [-x]" 55be96565d929af53b8009014fbec224004c64e4faStephen Hines echo "OPTIONS:" 5675e0547ec0818a6944496e43fa9d431f012705d7David Gross echo " -j <num> : Specify parallelism for builds." 57be96565d929af53b8009014fbec224004c64e4faStephen Hines echo " -h, --help : Display this help message." 58be96565d929af53b8009014fbec224004c64e4faStephen Hines echo " -n, --no-build : Skip the build step and just copy files." 5975e0547ec0818a6944496e43fa9d431f012705d7David Gross echo " --no-start : Do not \"repo start\" a new branch for the copied files." 60be96565d929af53b8009014fbec224004c64e4faStephen Hines echo " -x : Display commands before they are executed." 61be96565d929af53b8009014fbec224004c64e4faStephen Hines} 62be96565d929af53b8009014fbec224004c64e4faStephen Hines 63be96565d929af53b8009014fbec224004c64e4faStephen Hinesbuild_rs_libs() { 64be96565d929af53b8009014fbec224004c64e4faStephen Hines echo Building for target $1 65be96565d929af53b8009014fbec224004c64e4faStephen Hines lunch $1 66be96565d929af53b8009014fbec224004c64e4faStephen Hines # Build the RS runtime libraries. 67971d42af252f7f3e11144e472e0ac3fc313c73a4Stephen Hines cd $MY_ANDROID_DIR/frameworks/rs/driver/runtime && mma -j$NUM_CORES && cd - || exit 1 68a60ca5da7314f679cc4c0c068c6430d98c4eb471Pirama Arumuga Nainar # Build libRSSupport.so 69a60ca5da7314f679cc4c0c068c6430d98c4eb471Pirama Arumuga Nainar cd $MY_ANDROID_DIR/frameworks/support/v8/renderscript && mma -j$NUM_CORES && cd - || exit 2 70d0c45801692f4ae7b90a923ed1c57a3ec8ed4cb2Miao Wang # Build android-support-v8-renderscript.jar 71d0c45801692f4ae7b90a923ed1c57a3ec8ed4cb2Miao Wang # We need to explicitly do so, since JACK won't generate a jar by default. 72d0c45801692f4ae7b90a923ed1c57a3ec8ed4cb2Miao Wang cd $MY_ANDROID_DIR && make $RENDERSCRIPT_V8_JAR -j$NUM_CORES && cd - || exit 3 73648a1c137663ef7207684d0d7009dd5518942111Stephen Hines # Build libcompiler-rt.a 74d0c45801692f4ae7b90a923ed1c57a3ec8ed4cb2Miao Wang cd $MY_ANDROID_DIR/external/compiler-rt && mma -j$NUM_CORES && cd - || exit 4 75648a1c137663ef7207684d0d7009dd5518942111Stephen Hines # Build the blas libraries. 76d0c45801692f4ae7b90a923ed1c57a3ec8ed4cb2Miao Wang cd $MY_ANDROID_DIR/external/cblas && mma -j$NUM_CORES && cd - || exit 5 77be96565d929af53b8009014fbec224004c64e4faStephen Hines} 78be96565d929af53b8009014fbec224004c64e4faStephen Hines 79a60ca5da7314f679cc4c0c068c6430d98c4eb471Pirama Arumuga Nainarbuild_rstest_compatlib() { 80a60ca5da7314f679cc4c0c068c6430d98c4eb471Pirama Arumuga Nainar echo Building for target $1 81a60ca5da7314f679cc4c0c068c6430d98c4eb471Pirama Arumuga Nainar lunch $1 82a60ca5da7314f679cc4c0c068c6430d98c4eb471Pirama Arumuga Nainar # Build a sample support application to ensure that all the pieces are up to date. 83a60ca5da7314f679cc4c0c068c6430d98c4eb471Pirama Arumuga Nainar cd $MY_ANDROID_DIR/frameworks/rs/java/tests/RSTest_CompatLib/ && mma -j$NUM_CORES FORCE_BUILD_RS_COMPAT=true && cd - || exit 6 84a60ca5da7314f679cc4c0c068c6430d98c4eb471Pirama Arumuga Nainar} 85a60ca5da7314f679cc4c0c068c6430d98c4eb471Pirama Arumuga Nainar 86a60ca5da7314f679cc4c0c068c6430d98c4eb471Pirama Arumuga Nainarbuild_rs_host_tools() { 87a60ca5da7314f679cc4c0c068c6430d98c4eb471Pirama Arumuga Nainar echo "Building RS host tools (llvm-rs-cc and bcc_compat)" 88a60ca5da7314f679cc4c0c068c6430d98c4eb471Pirama Arumuga Nainar lunch aosp_arm64-userdebug 89a60ca5da7314f679cc4c0c068c6430d98c4eb471Pirama Arumuga Nainar 90a60ca5da7314f679cc4c0c068c6430d98c4eb471Pirama Arumuga Nainar cd $MY_ANDROID_DIR/frameworks/compile/slang && mma -j$NUM_CORES && cd - || exit 7 91a60ca5da7314f679cc4c0c068c6430d98c4eb471Pirama Arumuga Nainar cd $MY_ANDROID_DIR/frameworks/compile/libbcc && mma -j$NUM_CORES && cd - || exit 8 92a60ca5da7314f679cc4c0c068c6430d98c4eb471Pirama Arumuga Nainar} 93a60ca5da7314f679cc4c0c068c6430d98c4eb471Pirama Arumuga Nainar 94be96565d929af53b8009014fbec224004c64e4faStephen Hines# Build everything by default 95be96565d929af53b8009014fbec224004c64e4faStephen Hinesbuild_rs=1 96be96565d929af53b8009014fbec224004c64e4faStephen Hines 9775e0547ec0818a6944496e43fa9d431f012705d7David Gross# repo start by default 9875e0547ec0818a6944496e43fa9d431f012705d7David Grossrepo_start=1 9975e0547ec0818a6944496e43fa9d431f012705d7David Gross 100be96565d929af53b8009014fbec224004c64e4faStephen Hineswhile [ $# -gt 0 ]; do 101be96565d929af53b8009014fbec224004c64e4faStephen Hines case "$1" in 102be96565d929af53b8009014fbec224004c64e4faStephen Hines -h|--help) 103be96565d929af53b8009014fbec224004c64e4faStephen Hines print_usage 104be96565d929af53b8009014fbec224004c64e4faStephen Hines exit 0 105be96565d929af53b8009014fbec224004c64e4faStephen Hines ;; 10675e0547ec0818a6944496e43fa9d431f012705d7David Gross -j) 10775e0547ec0818a6944496e43fa9d431f012705d7David Gross if [[ $# -gt 1 && "$2" =~ ^[0-9]+$ ]]; then 10875e0547ec0818a6944496e43fa9d431f012705d7David Gross NUM_CORES="$2" 10975e0547ec0818a6944496e43fa9d431f012705d7David Gross shift 11075e0547ec0818a6944496e43fa9d431f012705d7David Gross else 11175e0547ec0818a6944496e43fa9d431f012705d7David Gross echo Expected numeric argument after "$1" 11275e0547ec0818a6944496e43fa9d431f012705d7David Gross print_usage 11375e0547ec0818a6944496e43fa9d431f012705d7David Gross exit 99 11475e0547ec0818a6944496e43fa9d431f012705d7David Gross fi 11575e0547ec0818a6944496e43fa9d431f012705d7David Gross ;; 116be96565d929af53b8009014fbec224004c64e4faStephen Hines -n|--no-build) 117be96565d929af53b8009014fbec224004c64e4faStephen Hines build_rs=0 118be96565d929af53b8009014fbec224004c64e4faStephen Hines ;; 11975e0547ec0818a6944496e43fa9d431f012705d7David Gross --no-start) 12075e0547ec0818a6944496e43fa9d431f012705d7David Gross repo_start=0 12175e0547ec0818a6944496e43fa9d431f012705d7David Gross ;; 122be96565d929af53b8009014fbec224004c64e4faStephen Hines -x) 123be96565d929af53b8009014fbec224004c64e4faStephen Hines # set lets us enable bash -x mode. 124be96565d929af53b8009014fbec224004c64e4faStephen Hines set -x 125be96565d929af53b8009014fbec224004c64e4faStephen Hines ;; 126be96565d929af53b8009014fbec224004c64e4faStephen Hines *) 127be96565d929af53b8009014fbec224004c64e4faStephen Hines echo Unknown argument: "$1" 128be96565d929af53b8009014fbec224004c64e4faStephen Hines print_usage 129be96565d929af53b8009014fbec224004c64e4faStephen Hines exit 99 130be96565d929af53b8009014fbec224004c64e4faStephen Hines break 131be96565d929af53b8009014fbec224004c64e4faStephen Hines ;; 132be96565d929af53b8009014fbec224004c64e4faStephen Hines esac 133be96565d929af53b8009014fbec224004c64e4faStephen Hines shift 134be96565d929af53b8009014fbec224004c64e4faStephen Hinesdone 135be96565d929af53b8009014fbec224004c64e4faStephen Hines 136be96565d929af53b8009014fbec224004c64e4faStephen Hinesif [ $build_rs -eq 1 ]; then 137be96565d929af53b8009014fbec224004c64e4faStephen Hines 138be96565d929af53b8009014fbec224004c64e4faStephen Hines echo !!!!!!!!!!!!!!!!!!!!!!!!!!!!! 139be96565d929af53b8009014fbec224004c64e4faStephen Hines echo !!! BUILDING RS PREBUILTS !!! 140be96565d929af53b8009014fbec224004c64e4faStephen Hines echo !!!!!!!!!!!!!!!!!!!!!!!!!!!!! 141be96565d929af53b8009014fbec224004c64e4faStephen Hines 14275e0547ec0818a6944496e43fa9d431f012705d7David Gross echo "Using $NUM_CORES cores" 14375e0547ec0818a6944496e43fa9d431f012705d7David Gross 144be96565d929af53b8009014fbec224004c64e4faStephen Hines source build/envsetup.sh 145be96565d929af53b8009014fbec224004c64e4faStephen Hines 146a60ca5da7314f679cc4c0c068c6430d98c4eb471Pirama Arumuga Nainar build_rs_host_tools 147a60ca5da7314f679cc4c0c068c6430d98c4eb471Pirama Arumuga Nainar 148be96565d929af53b8009014fbec224004c64e4faStephen Hines for t in ${TARGETS[@]}; do 149be96565d929af53b8009014fbec224004c64e4faStephen Hines build_rs_libs aosp_${t}-userdebug 150be96565d929af53b8009014fbec224004c64e4faStephen Hines done 151be96565d929af53b8009014fbec224004c64e4faStephen Hines 152be96565d929af53b8009014fbec224004c64e4faStephen Hines echo DONE BUILDING RS PREBUILTS 153be96565d929af53b8009014fbec224004c64e4faStephen Hines 154be96565d929af53b8009014fbec224004c64e4faStephen Hineselse 155be96565d929af53b8009014fbec224004c64e4faStephen Hines 156be96565d929af53b8009014fbec224004c64e4faStephen Hines echo SKIPPING BUILD OF RS PREBUILTS 157be96565d929af53b8009014fbec224004c64e4faStephen Hines 158be96565d929af53b8009014fbec224004c64e4faStephen Hinesfi 159be96565d929af53b8009014fbec224004c64e4faStephen Hines 160be96565d929af53b8009014fbec224004c64e4faStephen Hinescd $PREBUILTS_DIR || exit 3 16175e0547ec0818a6944496e43fa9d431f012705d7David Gross 16275e0547ec0818a6944496e43fa9d431f012705d7David Gross# Verify that project is "clean" 16375e0547ec0818a6944496e43fa9d431f012705d7David Grossif [ `git status --short --untracked-files=no | wc -l` -ne 0 ]; then 16475e0547ec0818a6944496e43fa9d431f012705d7David Gross echo $PREBUILTS_DIR contains modified files -- aborting. 16575e0547ec0818a6944496e43fa9d431f012705d7David Gross git status --untracked-files=no 16675e0547ec0818a6944496e43fa9d431f012705d7David Gross exit 1 16775e0547ec0818a6944496e43fa9d431f012705d7David Grossfi 16875e0547ec0818a6944496e43fa9d431f012705d7David Gross 16975e0547ec0818a6944496e43fa9d431f012705d7David Grossif [ $repo_start -eq 1 ]; then 17075e0547ec0818a6944496e43fa9d431f012705d7David Gross DATE=`date +%Y%m%d` 17175e0547ec0818a6944496e43fa9d431f012705d7David Gross repo start pb_$DATE . 17275e0547ec0818a6944496e43fa9d431f012705d7David Gross if [ $? -ne 0 ]; then 17375e0547ec0818a6944496e43fa9d431f012705d7David Gross echo repo start failed -- aborting. 17475e0547ec0818a6944496e43fa9d431f012705d7David Gross exit 1 17575e0547ec0818a6944496e43fa9d431f012705d7David Gross fi 17675e0547ec0818a6944496e43fa9d431f012705d7David Grossfi 177be96565d929af53b8009014fbec224004c64e4faStephen Hines 178a3957aa5ce87ce28fccc758b8410528c2cad0c41Stephen Hines# Don't copy device prebuilts on Darwin. We don't need/use them. 179a3957aa5ce87ce28fccc758b8410528c2cad0c41Stephen Hinesif [ $DARWIN -eq 0 ]; then 180a3957aa5ce87ce28fccc758b8410528c2cad0c41Stephen Hines for i in $(seq 0 $((${#TARGETS[@]} - 1))); do 181a3957aa5ce87ce28fccc758b8410528c2cad0c41Stephen Hines t=${TARGETS[$i]} 182648a1c137663ef7207684d0d7009dd5518942111Stephen Hines sys_name=${SYS_NAMES[$i]} 183d0c45801692f4ae7b90a923ed1c57a3ec8ed4cb2Miao Wang case "$sys_name" in 184648a1c137663ef7207684d0d7009dd5518942111Stephen Hines *64) 185648a1c137663ef7207684d0d7009dd5518942111Stephen Hines sys_lib_dir=$MY_ANDROID_DIR/out/target/product/$sys_name/system/lib64 186648a1c137663ef7207684d0d7009dd5518942111Stephen Hines ;; 187648a1c137663ef7207684d0d7009dd5518942111Stephen Hines *) 188648a1c137663ef7207684d0d7009dd5518942111Stephen Hines sys_lib_dir=$MY_ANDROID_DIR/out/target/product/$sys_name/system/lib 189648a1c137663ef7207684d0d7009dd5518942111Stephen Hines ;; 190648a1c137663ef7207684d0d7009dd5518942111Stephen Hines esac 191648a1c137663ef7207684d0d7009dd5518942111Stephen Hines obj_lib_dir=$MY_ANDROID_DIR/out/target/product/$sys_name/obj/lib 192648a1c137663ef7207684d0d7009dd5518942111Stephen Hines obj_static_lib_dir=$MY_ANDROID_DIR/out/target/product/$sys_name/obj/STATIC_LIBRARIES 193648a1c137663ef7207684d0d7009dd5518942111Stephen Hines 194a3957aa5ce87ce28fccc758b8410528c2cad0c41Stephen Hines for a in `find renderscript/lib/$t -name \*.so`; do 195a3957aa5ce87ce28fccc758b8410528c2cad0c41Stephen Hines file=`basename $a` 1961baebcdcb2f1f3d794c837166b925538fcd28acbStephen Hines cp `find $sys_lib_dir $obj_lib_dir -name $file | head -1` $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` 206648a1c137663ef7207684d0d7009dd5518942111Stephen Hines cp `find $obj_static_lib_dir -name $file | head -1` $a || exit 4 207648a1c137663ef7207684d0d7009dd5518942111Stephen Hines done 208648a1c137663ef7207684d0d7009dd5518942111Stephen Hines 209be96565d929af53b8009014fbec224004c64e4faStephen Hines done 210be96565d929af53b8009014fbec224004c64e4faStephen Hines 211a3957aa5ce87ce28fccc758b8410528c2cad0c41Stephen Hines # javalib.jar 212d0c45801692f4ae7b90a923ed1c57a3ec8ed4cb2Miao Wang cp $MY_ANDROID_DIR/$RENDERSCRIPT_V8_JAR renderscript/lib/javalib.jar 213be96565d929af53b8009014fbec224004c64e4faStephen Hines 214a3957aa5ce87ce28fccc758b8410528c2cad0c41Stephen Hinesfi 215be96565d929af53b8009014fbec224004c64e4faStephen Hines 216be96565d929af53b8009014fbec224004c64e4faStephen Hines# Copy header files for compilers 217be96565d929af53b8009014fbec224004c64e4faStephen Hinescp $MY_ANDROID_DIR/external/clang/lib/Headers/*.h renderscript/clang-include 2182a85b6b9d6f9cb8f1b20d573c1c5ceafe901b011Jean-Luc Brouilletcp $MY_ANDROID_DIR/frameworks/rs/script_api/include/* renderscript/include 219be96565d929af53b8009014fbec224004c64e4faStephen Hines 220be96565d929af53b8009014fbec224004c64e4faStephen Hines 221a3957aa5ce87ce28fccc758b8410528c2cad0c41Stephen Hines# Host-specific tools (bin/ and lib/) 222be96565d929af53b8009014fbec224004c64e4faStephen HinesTOOLS_BIN=" 223be96565d929af53b8009014fbec224004c64e4faStephen Hinesbcc_compat 224be96565d929af53b8009014fbec224004c64e4faStephen Hinesllvm-rs-cc 225be96565d929af53b8009014fbec224004c64e4faStephen Hines" 226be96565d929af53b8009014fbec224004c64e4faStephen Hines 227be96565d929af53b8009014fbec224004c64e4faStephen HinesTOOLS_LIB=" 228a3957aa5ce87ce28fccc758b8410528c2cad0c41Stephen Hineslibbcc.$SONAME 229a3957aa5ce87ce28fccc758b8410528c2cad0c41Stephen Hineslibbcinfo.$SONAME 230a3957aa5ce87ce28fccc758b8410528c2cad0c41Stephen Hineslibclang.$SONAME 2311baebcdcb2f1f3d794c837166b925538fcd28acbStephen Hineslibc++.$SONAME 232a3957aa5ce87ce28fccc758b8410528c2cad0c41Stephen HineslibLLVM.$SONAME 233be96565d929af53b8009014fbec224004c64e4faStephen Hines" 234be96565d929af53b8009014fbec224004c64e4faStephen Hines 235f562784573ebf580bc0c691509922b292e71b1d2Pirama Arumuga NainarTOOLS_LIB32="libc++.$SONAME" 236f562784573ebf580bc0c691509922b292e71b1d2Pirama Arumuga Nainar 237be96565d929af53b8009014fbec224004c64e4faStephen Hinesfor a in $TOOLS_BIN; do 238f562784573ebf580bc0c691509922b292e71b1d2Pirama Arumuga Nainar cp $ANDROID_HOST_OUT/bin/$a tools/$SHORT_OSNAME/bin 239f562784573ebf580bc0c691509922b292e71b1d2Pirama Arumuga Nainar strip tools/$SHORT_OSNAME/bin/$a 240be96565d929af53b8009014fbec224004c64e4faStephen Hinesdone 241be96565d929af53b8009014fbec224004c64e4faStephen Hines 242be96565d929af53b8009014fbec224004c64e4faStephen Hinesfor a in $TOOLS_LIB; do 243f562784573ebf580bc0c691509922b292e71b1d2Pirama Arumuga Nainar cp $HOST_LIB64_DIR/$a tools/$SHORT_OSNAME/lib64 244f562784573ebf580bc0c691509922b292e71b1d2Pirama Arumuga Nainar strip tools/$SHORT_OSNAME/lib64/$a 245f562784573ebf580bc0c691509922b292e71b1d2Pirama Arumuga Nainardone 246f562784573ebf580bc0c691509922b292e71b1d2Pirama Arumuga Nainar 247f562784573ebf580bc0c691509922b292e71b1d2Pirama Arumuga Nainarfor a in $TOOLS_LIB32; do 248f562784573ebf580bc0c691509922b292e71b1d2Pirama Arumuga Nainar cp $HOST_LIB_DIR/$a tools/$SHORT_OSNAME/lib 249f562784573ebf580bc0c691509922b292e71b1d2Pirama Arumuga Nainar strip tools/$SHORT_OSNAME/lib/$a 250be96565d929af53b8009014fbec224004c64e4faStephen Hinesdone 251be96565d929af53b8009014fbec224004c64e4faStephen Hines 252a60ca5da7314f679cc4c0c068c6430d98c4eb471Pirama Arumuga Nainarif [ $build_rs -eq 1 ]; then 253a60ca5da7314f679cc4c0c068c6430d98c4eb471Pirama Arumuga Nainar 254a60ca5da7314f679cc4c0c068c6430d98c4eb471Pirama Arumuga Nainar echo BUILDING RSTest_CompatLib with the new prebuilts 255a60ca5da7314f679cc4c0c068c6430d98c4eb471Pirama Arumuga Nainar 256a60ca5da7314f679cc4c0c068c6430d98c4eb471Pirama Arumuga Nainar echo "Using $NUM_CORES cores" 257a60ca5da7314f679cc4c0c068c6430d98c4eb471Pirama Arumuga Nainar 258a60ca5da7314f679cc4c0c068c6430d98c4eb471Pirama Arumuga Nainar source $MY_ANDROID_DIR/build/envsetup.sh 259a60ca5da7314f679cc4c0c068c6430d98c4eb471Pirama Arumuga Nainar 260a60ca5da7314f679cc4c0c068c6430d98c4eb471Pirama Arumuga Nainar for t in ${TARGETS[@]}; do 261a60ca5da7314f679cc4c0c068c6430d98c4eb471Pirama Arumuga Nainar build_rstest_compatlib aosp_${t}-userdebug 262a60ca5da7314f679cc4c0c068c6430d98c4eb471Pirama Arumuga Nainar done 263a60ca5da7314f679cc4c0c068c6430d98c4eb471Pirama Arumuga Nainar 264a60ca5da7314f679cc4c0c068c6430d98c4eb471Pirama Arumuga Nainar echo DONE BUILDING RSTest_CompatLib 265a60ca5da7314f679cc4c0c068c6430d98c4eb471Pirama Arumuga Nainar 266a60ca5da7314f679cc4c0c068c6430d98c4eb471Pirama Arumuga Nainarelse 267a60ca5da7314f679cc4c0c068c6430d98c4eb471Pirama Arumuga Nainar 268a60ca5da7314f679cc4c0c068c6430d98c4eb471Pirama Arumuga Nainar echo SKIPPING BUILD OF RSTest_CompatLib 269a60ca5da7314f679cc4c0c068c6430d98c4eb471Pirama Arumuga Nainar 270a60ca5da7314f679cc4c0c068c6430d98c4eb471Pirama Arumuga Nainarfi 271a60ca5da7314f679cc4c0c068c6430d98c4eb471Pirama Arumuga Nainar 272a3957aa5ce87ce28fccc758b8410528c2cad0c41Stephen Hinesif [ $DARWIN -eq 0 ]; then 273a3957aa5ce87ce28fccc758b8410528c2cad0c41Stephen Hines echo "DON'T FORGET TO UPDATE THE DARWIN COMPILER PREBUILTS!!!" 274a3957aa5ce87ce28fccc758b8410528c2cad0c41Stephen Hinesfi 275