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