update_rs_prebuilts.sh revision 75e0547ec0818a6944496e43fa9d431f012705d7
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 38971d42af252f7f3e11144e472e0ac3fc313c73a4Stephen Hines# Ensure that we have constructed the latest "bcc" for the host. Without 39971d42af252f7f3e11144e472e0ac3fc313c73a4Stephen Hines# this variable, we don't build the .so files, hence we never construct the 40971d42af252f7f3e11144e472e0ac3fc313c73a4Stephen Hines# actual required compiler pieces. 41971d42af252f7f3e11144e472e0ac3fc313c73a4Stephen Hinesexport FORCE_BUILD_RS_COMPAT=true 42971d42af252f7f3e11144e472e0ac3fc313c73a4Stephen Hines 43d0c45801692f4ae7b90a923ed1c57a3ec8ed4cb2Miao Wang# RENDERSCRIPT_V8_JAR is the generated JAVA static lib for RenderScript Support Lib. 44d0c45801692f4ae7b90a923ed1c57a3ec8ed4cb2Miao WangRENDERSCRIPT_V8_JAR=out/target/common/obj/JAVA_LIBRARIES/android-support-v8-renderscript_intermediates/classes.jar 454581f03df1786d3a2585dabb599278b9c0257df9Miao Wang 46be96565d929af53b8009014fbec224004c64e4faStephen Hines# ANDROID_HOST_OUT is where the new prebuilts will be constructed/copied from. 47a3957aa5ce87ce28fccc758b8410528c2cad0c41Stephen HinesANDROID_HOST_OUT=$MY_ANDROID_DIR/out/host/$SHORT_OSNAME-x86/ 48be96565d929af53b8009014fbec224004c64e4faStephen Hines 49be96565d929af53b8009014fbec224004c64e4faStephen Hines# HOST_LIB_DIR allows us to pick up the built librsrt_*.bc libraries. 50be96565d929af53b8009014fbec224004c64e4faStephen HinesHOST_LIB_DIR=$ANDROID_HOST_OUT/lib 51be96565d929af53b8009014fbec224004c64e4faStephen Hines 52f7dfd22fc82c01ac59f4e61683eb231d8738bab0Tim Murray# HOST_LIB64_DIR 53f7dfd22fc82c01ac59f4e61683eb231d8738bab0Tim MurrayHOST_LIB64_DIR=$ANDROID_HOST_OUT/lib64 54f7dfd22fc82c01ac59f4e61683eb231d8738bab0Tim Murray 55be96565d929af53b8009014fbec224004c64e4faStephen Hines# PREBUILTS_DIR is where we want to copy our new files to. 56be96565d929af53b8009014fbec224004c64e4faStephen HinesPREBUILTS_DIR=$MY_ANDROID_DIR/prebuilts/sdk/ 57be96565d929af53b8009014fbec224004c64e4faStephen Hines 58be96565d929af53b8009014fbec224004c64e4faStephen Hinesprint_usage() { 5975e0547ec0818a6944496e43fa9d431f012705d7David Gross echo "USAGE: $0 [-h|--help] [-j <num>] [-n|--no-build] [--no-start] [-x]" 60be96565d929af53b8009014fbec224004c64e4faStephen Hines echo "OPTIONS:" 6175e0547ec0818a6944496e43fa9d431f012705d7David Gross echo " -j <num> : Specify parallelism for builds." 62be96565d929af53b8009014fbec224004c64e4faStephen Hines echo " -h, --help : Display this help message." 63be96565d929af53b8009014fbec224004c64e4faStephen Hines echo " -n, --no-build : Skip the build step and just copy files." 6475e0547ec0818a6944496e43fa9d431f012705d7David Gross echo " --no-start : Do not \"repo start\" a new branch for the copied files." 65be96565d929af53b8009014fbec224004c64e4faStephen Hines echo " -x : Display commands before they are executed." 66be96565d929af53b8009014fbec224004c64e4faStephen Hines} 67be96565d929af53b8009014fbec224004c64e4faStephen Hines 68be96565d929af53b8009014fbec224004c64e4faStephen Hinesbuild_rs_libs() { 69be96565d929af53b8009014fbec224004c64e4faStephen Hines echo Building for target $1 70be96565d929af53b8009014fbec224004c64e4faStephen Hines lunch $1 71be96565d929af53b8009014fbec224004c64e4faStephen Hines # Build the RS runtime libraries. 72971d42af252f7f3e11144e472e0ac3fc313c73a4Stephen Hines cd $MY_ANDROID_DIR/frameworks/rs/driver/runtime && mma -j$NUM_CORES && cd - || exit 1 73be96565d929af53b8009014fbec224004c64e4faStephen Hines # Build a sample support application to ensure that all the pieces are up to date. 74971d42af252f7f3e11144e472e0ac3fc313c73a4Stephen Hines cd $MY_ANDROID_DIR/frameworks/rs/java/tests/RSTest_CompatLib/ && mma -j$NUM_CORES && cd - || exit 2 75d0c45801692f4ae7b90a923ed1c57a3ec8ed4cb2Miao Wang # Build android-support-v8-renderscript.jar 76d0c45801692f4ae7b90a923ed1c57a3ec8ed4cb2Miao Wang # We need to explicitly do so, since JACK won't generate a jar by default. 77d0c45801692f4ae7b90a923ed1c57a3ec8ed4cb2Miao Wang cd $MY_ANDROID_DIR && make $RENDERSCRIPT_V8_JAR -j$NUM_CORES && cd - || exit 3 78648a1c137663ef7207684d0d7009dd5518942111Stephen Hines # Build libcompiler-rt.a 79d0c45801692f4ae7b90a923ed1c57a3ec8ed4cb2Miao Wang cd $MY_ANDROID_DIR/external/compiler-rt && mma -j$NUM_CORES && cd - || exit 4 80648a1c137663ef7207684d0d7009dd5518942111Stephen Hines # Build the blas libraries. 81d0c45801692f4ae7b90a923ed1c57a3ec8ed4cb2Miao Wang cd $MY_ANDROID_DIR/external/cblas && mma -j$NUM_CORES && cd - || exit 5 82be96565d929af53b8009014fbec224004c64e4faStephen Hines} 83be96565d929af53b8009014fbec224004c64e4faStephen Hines 84be96565d929af53b8009014fbec224004c64e4faStephen Hines# Build everything by default 85be96565d929af53b8009014fbec224004c64e4faStephen Hinesbuild_rs=1 86be96565d929af53b8009014fbec224004c64e4faStephen Hines 8775e0547ec0818a6944496e43fa9d431f012705d7David Gross# repo start by default 8875e0547ec0818a6944496e43fa9d431f012705d7David Grossrepo_start=1 8975e0547ec0818a6944496e43fa9d431f012705d7David Gross 90be96565d929af53b8009014fbec224004c64e4faStephen Hineswhile [ $# -gt 0 ]; do 91be96565d929af53b8009014fbec224004c64e4faStephen Hines case "$1" in 92be96565d929af53b8009014fbec224004c64e4faStephen Hines -h|--help) 93be96565d929af53b8009014fbec224004c64e4faStephen Hines print_usage 94be96565d929af53b8009014fbec224004c64e4faStephen Hines exit 0 95be96565d929af53b8009014fbec224004c64e4faStephen Hines ;; 9675e0547ec0818a6944496e43fa9d431f012705d7David Gross -j) 9775e0547ec0818a6944496e43fa9d431f012705d7David Gross if [[ $# -gt 1 && "$2" =~ ^[0-9]+$ ]]; then 9875e0547ec0818a6944496e43fa9d431f012705d7David Gross NUM_CORES="$2" 9975e0547ec0818a6944496e43fa9d431f012705d7David Gross shift 10075e0547ec0818a6944496e43fa9d431f012705d7David Gross else 10175e0547ec0818a6944496e43fa9d431f012705d7David Gross echo Expected numeric argument after "$1" 10275e0547ec0818a6944496e43fa9d431f012705d7David Gross print_usage 10375e0547ec0818a6944496e43fa9d431f012705d7David Gross exit 99 10475e0547ec0818a6944496e43fa9d431f012705d7David Gross fi 10575e0547ec0818a6944496e43fa9d431f012705d7David Gross ;; 106be96565d929af53b8009014fbec224004c64e4faStephen Hines -n|--no-build) 107be96565d929af53b8009014fbec224004c64e4faStephen Hines build_rs=0 108be96565d929af53b8009014fbec224004c64e4faStephen Hines ;; 10975e0547ec0818a6944496e43fa9d431f012705d7David Gross --no-start) 11075e0547ec0818a6944496e43fa9d431f012705d7David Gross repo_start=0 11175e0547ec0818a6944496e43fa9d431f012705d7David Gross ;; 112be96565d929af53b8009014fbec224004c64e4faStephen Hines -x) 113be96565d929af53b8009014fbec224004c64e4faStephen Hines # set lets us enable bash -x mode. 114be96565d929af53b8009014fbec224004c64e4faStephen Hines set -x 115be96565d929af53b8009014fbec224004c64e4faStephen Hines ;; 116be96565d929af53b8009014fbec224004c64e4faStephen Hines *) 117be96565d929af53b8009014fbec224004c64e4faStephen Hines echo Unknown argument: "$1" 118be96565d929af53b8009014fbec224004c64e4faStephen Hines print_usage 119be96565d929af53b8009014fbec224004c64e4faStephen Hines exit 99 120be96565d929af53b8009014fbec224004c64e4faStephen Hines break 121be96565d929af53b8009014fbec224004c64e4faStephen Hines ;; 122be96565d929af53b8009014fbec224004c64e4faStephen Hines esac 123be96565d929af53b8009014fbec224004c64e4faStephen Hines shift 124be96565d929af53b8009014fbec224004c64e4faStephen Hinesdone 125be96565d929af53b8009014fbec224004c64e4faStephen Hines 126be96565d929af53b8009014fbec224004c64e4faStephen Hinesif [ $build_rs -eq 1 ]; then 127be96565d929af53b8009014fbec224004c64e4faStephen Hines 128be96565d929af53b8009014fbec224004c64e4faStephen Hines echo !!!!!!!!!!!!!!!!!!!!!!!!!!!!! 129be96565d929af53b8009014fbec224004c64e4faStephen Hines echo !!! BUILDING RS PREBUILTS !!! 130be96565d929af53b8009014fbec224004c64e4faStephen Hines echo !!!!!!!!!!!!!!!!!!!!!!!!!!!!! 131be96565d929af53b8009014fbec224004c64e4faStephen Hines 13275e0547ec0818a6944496e43fa9d431f012705d7David Gross echo "Using $NUM_CORES cores" 13375e0547ec0818a6944496e43fa9d431f012705d7David Gross 134be96565d929af53b8009014fbec224004c64e4faStephen Hines source build/envsetup.sh 135be96565d929af53b8009014fbec224004c64e4faStephen Hines 136be96565d929af53b8009014fbec224004c64e4faStephen Hines for t in ${TARGETS[@]}; do 137be96565d929af53b8009014fbec224004c64e4faStephen Hines build_rs_libs aosp_${t}-userdebug 138be96565d929af53b8009014fbec224004c64e4faStephen Hines done 139be96565d929af53b8009014fbec224004c64e4faStephen Hines 140be96565d929af53b8009014fbec224004c64e4faStephen Hines echo DONE BUILDING RS PREBUILTS 141be96565d929af53b8009014fbec224004c64e4faStephen Hines 142be96565d929af53b8009014fbec224004c64e4faStephen Hineselse 143be96565d929af53b8009014fbec224004c64e4faStephen Hines 144be96565d929af53b8009014fbec224004c64e4faStephen Hines echo SKIPPING BUILD OF RS PREBUILTS 145be96565d929af53b8009014fbec224004c64e4faStephen Hines 146be96565d929af53b8009014fbec224004c64e4faStephen Hinesfi 147be96565d929af53b8009014fbec224004c64e4faStephen Hines 148be96565d929af53b8009014fbec224004c64e4faStephen Hinescd $PREBUILTS_DIR || exit 3 14975e0547ec0818a6944496e43fa9d431f012705d7David Gross 15075e0547ec0818a6944496e43fa9d431f012705d7David Gross# Verify that project is "clean" 15175e0547ec0818a6944496e43fa9d431f012705d7David Grossif [ `git status --short --untracked-files=no | wc -l` -ne 0 ]; then 15275e0547ec0818a6944496e43fa9d431f012705d7David Gross echo $PREBUILTS_DIR contains modified files -- aborting. 15375e0547ec0818a6944496e43fa9d431f012705d7David Gross git status --untracked-files=no 15475e0547ec0818a6944496e43fa9d431f012705d7David Gross exit 1 15575e0547ec0818a6944496e43fa9d431f012705d7David Grossfi 15675e0547ec0818a6944496e43fa9d431f012705d7David Gross 15775e0547ec0818a6944496e43fa9d431f012705d7David Grossif [ $repo_start -eq 1 ]; then 15875e0547ec0818a6944496e43fa9d431f012705d7David Gross DATE=`date +%Y%m%d` 15975e0547ec0818a6944496e43fa9d431f012705d7David Gross repo start pb_$DATE . 16075e0547ec0818a6944496e43fa9d431f012705d7David Gross if [ $? -ne 0 ]; then 16175e0547ec0818a6944496e43fa9d431f012705d7David Gross echo repo start failed -- aborting. 16275e0547ec0818a6944496e43fa9d431f012705d7David Gross exit 1 16375e0547ec0818a6944496e43fa9d431f012705d7David Gross fi 16475e0547ec0818a6944496e43fa9d431f012705d7David Grossfi 165be96565d929af53b8009014fbec224004c64e4faStephen Hines 166a3957aa5ce87ce28fccc758b8410528c2cad0c41Stephen Hines# Don't copy device prebuilts on Darwin. We don't need/use them. 167a3957aa5ce87ce28fccc758b8410528c2cad0c41Stephen Hinesif [ $DARWIN -eq 0 ]; then 168a3957aa5ce87ce28fccc758b8410528c2cad0c41Stephen Hines for i in $(seq 0 $((${#TARGETS[@]} - 1))); do 169a3957aa5ce87ce28fccc758b8410528c2cad0c41Stephen Hines t=${TARGETS[$i]} 170648a1c137663ef7207684d0d7009dd5518942111Stephen Hines sys_name=${SYS_NAMES[$i]} 171d0c45801692f4ae7b90a923ed1c57a3ec8ed4cb2Miao Wang case "$sys_name" in 172648a1c137663ef7207684d0d7009dd5518942111Stephen Hines *64) 173648a1c137663ef7207684d0d7009dd5518942111Stephen Hines sys_lib_dir=$MY_ANDROID_DIR/out/target/product/$sys_name/system/lib64 174648a1c137663ef7207684d0d7009dd5518942111Stephen Hines ;; 175648a1c137663ef7207684d0d7009dd5518942111Stephen Hines *) 176648a1c137663ef7207684d0d7009dd5518942111Stephen Hines sys_lib_dir=$MY_ANDROID_DIR/out/target/product/$sys_name/system/lib 177648a1c137663ef7207684d0d7009dd5518942111Stephen Hines ;; 178648a1c137663ef7207684d0d7009dd5518942111Stephen Hines esac 179648a1c137663ef7207684d0d7009dd5518942111Stephen Hines obj_lib_dir=$MY_ANDROID_DIR/out/target/product/$sys_name/obj/lib 180648a1c137663ef7207684d0d7009dd5518942111Stephen Hines obj_static_lib_dir=$MY_ANDROID_DIR/out/target/product/$sys_name/obj/STATIC_LIBRARIES 181648a1c137663ef7207684d0d7009dd5518942111Stephen Hines 182a3957aa5ce87ce28fccc758b8410528c2cad0c41Stephen Hines for a in `find renderscript/lib/$t -name \*.so`; do 183a3957aa5ce87ce28fccc758b8410528c2cad0c41Stephen Hines file=`basename $a` 1841baebcdcb2f1f3d794c837166b925538fcd28acbStephen Hines cp `find $sys_lib_dir $obj_lib_dir -name $file | head -1` $a || exit 4 185a3957aa5ce87ce28fccc758b8410528c2cad0c41Stephen Hines done 186a3957aa5ce87ce28fccc758b8410528c2cad0c41Stephen Hines 187a3957aa5ce87ce28fccc758b8410528c2cad0c41Stephen Hines for a in `find renderscript/lib/$t -name \*.bc`; do 188a3957aa5ce87ce28fccc758b8410528c2cad0c41Stephen Hines file=`basename $a` 189f7dfd22fc82c01ac59f4e61683eb231d8738bab0Tim Murray cp `find $HOST_LIB_DIR $HOST_LIB64_DIR $sys_lib_dir $obj_lib_dir -name $file | head -1` $a || exit 5 190a3957aa5ce87ce28fccc758b8410528c2cad0c41Stephen Hines done 191648a1c137663ef7207684d0d7009dd5518942111Stephen Hines 192648a1c137663ef7207684d0d7009dd5518942111Stephen Hines for a in `find renderscript/lib/$t -name \*.a`; do 193648a1c137663ef7207684d0d7009dd5518942111Stephen Hines file=`basename $a` 194648a1c137663ef7207684d0d7009dd5518942111Stephen Hines cp `find $obj_static_lib_dir -name $file | head -1` $a || exit 4 195648a1c137663ef7207684d0d7009dd5518942111Stephen Hines done 196648a1c137663ef7207684d0d7009dd5518942111Stephen Hines 197be96565d929af53b8009014fbec224004c64e4faStephen Hines done 198be96565d929af53b8009014fbec224004c64e4faStephen Hines 199a3957aa5ce87ce28fccc758b8410528c2cad0c41Stephen Hines # javalib.jar 200d0c45801692f4ae7b90a923ed1c57a3ec8ed4cb2Miao Wang cp $MY_ANDROID_DIR/$RENDERSCRIPT_V8_JAR renderscript/lib/javalib.jar 201be96565d929af53b8009014fbec224004c64e4faStephen Hines 202a3957aa5ce87ce28fccc758b8410528c2cad0c41Stephen Hinesfi 203be96565d929af53b8009014fbec224004c64e4faStephen Hines 204be96565d929af53b8009014fbec224004c64e4faStephen Hines# Copy header files for compilers 205be96565d929af53b8009014fbec224004c64e4faStephen Hinescp $MY_ANDROID_DIR/external/clang/lib/Headers/*.h renderscript/clang-include 206be96565d929af53b8009014fbec224004c64e4faStephen Hinescp $MY_ANDROID_DIR/frameworks/rs/scriptc/* renderscript/include 207be96565d929af53b8009014fbec224004c64e4faStephen Hines 208be96565d929af53b8009014fbec224004c64e4faStephen Hines 209a3957aa5ce87ce28fccc758b8410528c2cad0c41Stephen Hines# Host-specific tools (bin/ and lib/) 210be96565d929af53b8009014fbec224004c64e4faStephen HinesTOOLS_BIN=" 211be96565d929af53b8009014fbec224004c64e4faStephen Hinesbcc_compat 212be96565d929af53b8009014fbec224004c64e4faStephen Hinesllvm-rs-cc 213be96565d929af53b8009014fbec224004c64e4faStephen Hines" 214be96565d929af53b8009014fbec224004c64e4faStephen Hines 215be96565d929af53b8009014fbec224004c64e4faStephen HinesTOOLS_LIB=" 216a3957aa5ce87ce28fccc758b8410528c2cad0c41Stephen Hineslibbcc.$SONAME 217a3957aa5ce87ce28fccc758b8410528c2cad0c41Stephen Hineslibbcinfo.$SONAME 218a3957aa5ce87ce28fccc758b8410528c2cad0c41Stephen Hineslibclang.$SONAME 2191baebcdcb2f1f3d794c837166b925538fcd28acbStephen Hineslibc++.$SONAME 220a3957aa5ce87ce28fccc758b8410528c2cad0c41Stephen HineslibLLVM.$SONAME 221be96565d929af53b8009014fbec224004c64e4faStephen Hines" 222be96565d929af53b8009014fbec224004c64e4faStephen Hines 223f562784573ebf580bc0c691509922b292e71b1d2Pirama Arumuga NainarTOOLS_LIB32="libc++.$SONAME" 224f562784573ebf580bc0c691509922b292e71b1d2Pirama Arumuga Nainar 225be96565d929af53b8009014fbec224004c64e4faStephen Hinesfor a in $TOOLS_BIN; do 226f562784573ebf580bc0c691509922b292e71b1d2Pirama Arumuga Nainar cp $ANDROID_HOST_OUT/bin/$a tools/$SHORT_OSNAME/bin 227f562784573ebf580bc0c691509922b292e71b1d2Pirama Arumuga Nainar strip tools/$SHORT_OSNAME/bin/$a 228be96565d929af53b8009014fbec224004c64e4faStephen Hinesdone 229be96565d929af53b8009014fbec224004c64e4faStephen Hines 230be96565d929af53b8009014fbec224004c64e4faStephen Hinesfor a in $TOOLS_LIB; do 231f562784573ebf580bc0c691509922b292e71b1d2Pirama Arumuga Nainar cp $HOST_LIB64_DIR/$a tools/$SHORT_OSNAME/lib64 232f562784573ebf580bc0c691509922b292e71b1d2Pirama Arumuga Nainar strip tools/$SHORT_OSNAME/lib64/$a 233f562784573ebf580bc0c691509922b292e71b1d2Pirama Arumuga Nainardone 234f562784573ebf580bc0c691509922b292e71b1d2Pirama Arumuga Nainar 235f562784573ebf580bc0c691509922b292e71b1d2Pirama Arumuga Nainarfor a in $TOOLS_LIB32; do 236f562784573ebf580bc0c691509922b292e71b1d2Pirama Arumuga Nainar cp $HOST_LIB_DIR/$a tools/$SHORT_OSNAME/lib 237f562784573ebf580bc0c691509922b292e71b1d2Pirama Arumuga Nainar strip tools/$SHORT_OSNAME/lib/$a 238be96565d929af53b8009014fbec224004c64e4faStephen Hinesdone 239be96565d929af53b8009014fbec224004c64e4faStephen Hines 240a3957aa5ce87ce28fccc758b8410528c2cad0c41Stephen Hinesif [ $DARWIN -eq 0 ]; then 241a3957aa5ce87ce28fccc758b8410528c2cad0c41Stephen Hines echo "DON'T FORGET TO UPDATE THE DARWIN COMPILER PREBUILTS!!!" 242a3957aa5ce87ce28fccc758b8410528c2cad0c41Stephen Hinesfi 243