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 | } |