| Ryan Prichard | 3cfb89d | 2019-09-20 15:42:48 -0700 | [diff] [blame] | 1 | # source this script in bash | 
| Elliott Hughes | 8ceb95c | 2019-03-26 14:47:08 -0700 | [diff] [blame] | 2 |  | 
|  | 3 | source ${ANDROID_BUILD_TOP}/build/envsetup.sh | 
|  | 4 |  | 
| Ryan Prichard | 3cfb89d | 2019-09-20 15:42:48 -0700 | [diff] [blame] | 5 | # See envsetup.sh for an example of using --dumpvars-mode to set shell variables. | 
|  | 6 | eval "$(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 Hughes | 8ceb95c | 2019-03-26 14:47:08 -0700 | [diff] [blame] | 15 |  | 
|  | 16 | function prepare() | 
|  | 17 | { | 
| Ryan Prichard | 3cfb89d | 2019-09-20 15:42:48 -0700 | [diff] [blame] | 18 | local BITS=$1 | 
| Elliott Hughes | 8ceb95c | 2019-03-26 14:47:08 -0700 | [diff] [blame] | 19 | shift | 
|  | 20 |  | 
| Elliott Hughes | 4da99ff | 2019-04-26 15:12:57 -0700 | [diff] [blame] | 21 | BENCHMARKS=${TARGET_OUT_DATA}/benchmarktest | 
| Elliott Hughes | 8ceb95c | 2019-03-26 14:47:08 -0700 | [diff] [blame] | 22 | NATIVETEST=${TARGET_OUT_DATA}/nativetest | 
|  | 23 | if [ "${BITS}" = 64 ]; then | 
| Elliott Hughes | 4da99ff | 2019-04-26 15:12:57 -0700 | [diff] [blame] | 24 | BENCHMARKS=${BENCHMARKS}64 | 
| Elliott Hughes | 8ceb95c | 2019-03-26 14:47:08 -0700 | [diff] [blame] | 25 | NATIVETEST=${NATIVETEST}64 | 
|  | 26 | fi | 
|  | 27 |  | 
| Elliott Hughes | 8ceb95c | 2019-03-26 14:47:08 -0700 | [diff] [blame] | 28 | if [ ${TARGET_ARCH} = x86 -o ${TARGET_ARCH} = x86_64 ]; then | 
| Ryan Prichard | 3cfb89d | 2019-09-20 15:42:48 -0700 | [diff] [blame] | 29 | m -j MODULES-IN-bionic MODULES-IN-external-icu MODULES-IN-external-mksh ${TARGET_OUT}/etc/hosts "$@" | 
| Elliott Hughes | 8ceb95c | 2019-03-26 14:47:08 -0700 | [diff] [blame] | 30 |  | 
|  | 31 | if [ ! -d /system ]; then | 
| Ryan Prichard | 3cfb89d | 2019-09-20 15:42:48 -0700 | [diff] [blame] | 32 | 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 Hughes | 8ceb95c | 2019-03-26 14:47:08 -0700 | [diff] [blame] | 37 | fi | 
|  | 38 | ( | 
| Ryan Prichard | 3cfb89d | 2019-09-20 15:42:48 -0700 | [diff] [blame] | 39 | 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 Hughes | 8ceb95c | 2019-03-26 14:47:08 -0700 | [diff] [blame] | 48 | cd ${ANDROID_BUILD_TOP} | 
|  | 49 | mkdir -p ${TARGET_OUT_DATA}/local/tmp | 
| Elliott Hughes | 4da99ff | 2019-04-26 15:12:57 -0700 | [diff] [blame] | 50 | for i in ${TARGET_OUT}/bin/bootstrap/* ${TARGET_OUT}/bin/*; do | 
| Ryan Prichard | 3cfb89d | 2019-09-20 15:42:48 -0700 | [diff] [blame] | 51 | make_link /system/bin ${i} | 
| Elliott Hughes | 4da99ff | 2019-04-26 15:12:57 -0700 | [diff] [blame] | 52 | done | 
| Elliott Hughes | 8ceb95c | 2019-03-26 14:47:08 -0700 | [diff] [blame] | 53 | ln -fs `realpath ${TARGET_OUT}/etc` /system/ | 
| Elliott Hughes | 4da99ff | 2019-04-26 15:12:57 -0700 | [diff] [blame] | 54 | for i in ${TARGET_OUT}/lib/bootstrap/* ${TARGET_OUT}/lib/*; do | 
| Ryan Prichard | 3cfb89d | 2019-09-20 15:42:48 -0700 | [diff] [blame] | 55 | make_link /system/lib ${i} | 
| Elliott Hughes | 4da99ff | 2019-04-26 15:12:57 -0700 | [diff] [blame] | 56 | done | 
|  | 57 | for i in ${TARGET_OUT}/lib64/bootstrap/* ${TARGET_OUT}/lib64/*; do | 
| Ryan Prichard | 3cfb89d | 2019-09-20 15:42:48 -0700 | [diff] [blame] | 58 | make_link /system/lib64 ${i} | 
| Elliott Hughes | 4da99ff | 2019-04-26 15:12:57 -0700 | [diff] [blame] | 59 | done | 
| Elliott Hughes | 8ceb95c | 2019-03-26 14:47:08 -0700 | [diff] [blame] | 60 | ) | 
|  | 61 | fi | 
|  | 62 | } |