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