blob: 0ca3b1e3db1231b509b62e531228fdfcecab705e [file] [log] [blame]
Ryan Prichard3cfb89d2019-09-20 15:42:48 -07001# source this script in bash
Elliott Hughes8ceb95c2019-03-26 14:47:08 -07002
3source ${ANDROID_BUILD_TOP}/build/envsetup.sh
4
Ryan Prichard3cfb89d2019-09-20 15:42:48 -07005# See envsetup.sh for an example of using --dumpvars-mode to set shell variables.
6eval "$(cd ${ANDROID_BUILD_TOP}; build/soong/soong_ui.bash --dumpvars-mode --vars="\
7 TARGET_ARCH \
8 TARGET_OUT \
9 TARGET_OUT_EXECUTABLES \
10 TARGET_OUT_DATA \
11 HOST_OS \
12 HOST_ARCH \
13 HOST_OUT \
14 ")"
Elliott Hughes8ceb95c2019-03-26 14:47:08 -070015
16function prepare()
17{
Ryan Prichard3cfb89d2019-09-20 15:42:48 -070018 local BITS=$1
Elliott Hughes8ceb95c2019-03-26 14:47:08 -070019 shift
20
Elliott Hughes4da99ff2019-04-26 15:12:57 -070021 BENCHMARKS=${TARGET_OUT_DATA}/benchmarktest
Elliott Hughes8ceb95c2019-03-26 14:47:08 -070022 NATIVETEST=${TARGET_OUT_DATA}/nativetest
23 if [ "${BITS}" = 64 ]; then
Elliott Hughes4da99ff2019-04-26 15:12:57 -070024 BENCHMARKS=${BENCHMARKS}64
Elliott Hughes8ceb95c2019-03-26 14:47:08 -070025 NATIVETEST=${NATIVETEST}64
26 fi
27
Elliott Hughes8ceb95c2019-03-26 14:47:08 -070028 if [ ${TARGET_ARCH} = x86 -o ${TARGET_ARCH} = x86_64 ]; then
Ryan Prichard3cfb89d2019-09-20 15:42:48 -070029 m -j MODULES-IN-bionic MODULES-IN-external-icu MODULES-IN-external-mksh ${TARGET_OUT}/etc/hosts "$@"
Elliott Hughes8ceb95c2019-03-26 14:47:08 -070030
31 if [ ! -d /system ]; then
Ryan Prichard3cfb89d2019-09-20 15:42:48 -070032 echo "Attempting to create /system"
33 sudo mkdir -p -m 0777 /system
34 mkdir -p -m 0777 /system/bin
35 mkdir -p -m 0777 /system/lib
36 mkdir -p -m 0777 /system/lib64
Elliott Hughes8ceb95c2019-03-26 14:47:08 -070037 fi
38 (
Ryan Prichard3cfb89d2019-09-20 15:42:48 -070039 function make_link() {
40 dir=$1
41 tgt=$2
42 name=`basename ${tgt}`
43 src=$dir/$name
44 if [ -e $tgt ]; then
45 ln -sfT `realpath ${tgt}` $src
46 fi
47 }
Elliott Hughes8ceb95c2019-03-26 14:47:08 -070048 cd ${ANDROID_BUILD_TOP}
49 mkdir -p ${TARGET_OUT_DATA}/local/tmp
Elliott Hughes4da99ff2019-04-26 15:12:57 -070050 for i in ${TARGET_OUT}/bin/bootstrap/* ${TARGET_OUT}/bin/*; do
Ryan Prichard3cfb89d2019-09-20 15:42:48 -070051 make_link /system/bin ${i}
Elliott Hughes4da99ff2019-04-26 15:12:57 -070052 done
Elliott Hughes8ceb95c2019-03-26 14:47:08 -070053 ln -fs `realpath ${TARGET_OUT}/etc` /system/
Elliott Hughes4da99ff2019-04-26 15:12:57 -070054 for i in ${TARGET_OUT}/lib/bootstrap/* ${TARGET_OUT}/lib/*; do
Ryan Prichard3cfb89d2019-09-20 15:42:48 -070055 make_link /system/lib ${i}
Elliott Hughes4da99ff2019-04-26 15:12:57 -070056 done
57 for i in ${TARGET_OUT}/lib64/bootstrap/* ${TARGET_OUT}/lib64/*; do
Ryan Prichard3cfb89d2019-09-20 15:42:48 -070058 make_link /system/lib64 ${i}
Elliott Hughes4da99ff2019-04-26 15:12:57 -070059 done
Elliott Hughes8ceb95c2019-03-26 14:47:08 -070060 )
61 fi
62}