1*8d67ca89SAndroid Build Coastguard Worker# source this script in bash 2*8d67ca89SAndroid Build Coastguard Worker 3*8d67ca89SAndroid Build Coastguard Workersource ${ANDROID_BUILD_TOP}/build/envsetup.sh 4*8d67ca89SAndroid Build Coastguard Worker 5*8d67ca89SAndroid Build Coastguard Worker# See envsetup.sh for an example of using --dumpvars-mode to set shell variables. 6*8d67ca89SAndroid Build Coastguard Workereval "$(cd ${ANDROID_BUILD_TOP}; build/soong/soong_ui.bash --dumpvars-mode --vars="\ 7*8d67ca89SAndroid Build Coastguard Worker TARGET_ARCH \ 8*8d67ca89SAndroid Build Coastguard Worker TARGET_OUT \ 9*8d67ca89SAndroid Build Coastguard Worker TARGET_OUT_EXECUTABLES \ 10*8d67ca89SAndroid Build Coastguard Worker TARGET_OUT_DATA \ 11*8d67ca89SAndroid Build Coastguard Worker HOST_OS \ 12*8d67ca89SAndroid Build Coastguard Worker HOST_ARCH \ 13*8d67ca89SAndroid Build Coastguard Worker HOST_OUT \ 14*8d67ca89SAndroid Build Coastguard Worker ")" 15*8d67ca89SAndroid Build Coastguard Worker 16*8d67ca89SAndroid Build Coastguard Workerfunction prepare() 17*8d67ca89SAndroid Build Coastguard Worker{ 18*8d67ca89SAndroid Build Coastguard Worker local BITS=$1 19*8d67ca89SAndroid Build Coastguard Worker shift 20*8d67ca89SAndroid Build Coastguard Worker 21*8d67ca89SAndroid Build Coastguard Worker BENCHMARKS=${TARGET_OUT_DATA}/benchmarktest 22*8d67ca89SAndroid Build Coastguard Worker NATIVETEST=${TARGET_OUT_DATA}/nativetest 23*8d67ca89SAndroid Build Coastguard Worker if [ "${BITS}" = 64 ]; then 24*8d67ca89SAndroid Build Coastguard Worker BENCHMARKS=${BENCHMARKS}64 25*8d67ca89SAndroid Build Coastguard Worker NATIVETEST=${NATIVETEST}64 26*8d67ca89SAndroid Build Coastguard Worker fi 27*8d67ca89SAndroid Build Coastguard Worker 28*8d67ca89SAndroid Build Coastguard Worker if [ ${TARGET_ARCH} = x86 -o ${TARGET_ARCH} = x86_64 ]; then 29*8d67ca89SAndroid Build Coastguard Worker m -j MODULES-IN-bionic MODULES-IN-external-icu MODULES-IN-external-mksh ${TARGET_OUT}/etc/hosts "$@" 30*8d67ca89SAndroid Build Coastguard Worker 31*8d67ca89SAndroid Build Coastguard Worker if [ ! -d /system ]; then 32*8d67ca89SAndroid Build Coastguard Worker echo "Attempting to create /system" 33*8d67ca89SAndroid Build Coastguard Worker sudo mkdir -p -m 0777 /system 34*8d67ca89SAndroid Build Coastguard Worker mkdir -p -m 0777 /system/bin 35*8d67ca89SAndroid Build Coastguard Worker mkdir -p -m 0777 /system/lib 36*8d67ca89SAndroid Build Coastguard Worker mkdir -p -m 0777 /system/lib64 37*8d67ca89SAndroid Build Coastguard Worker fi 38*8d67ca89SAndroid Build Coastguard Worker ( 39*8d67ca89SAndroid Build Coastguard Worker function make_link() { 40*8d67ca89SAndroid Build Coastguard Worker dir=$1 41*8d67ca89SAndroid Build Coastguard Worker tgt=$2 42*8d67ca89SAndroid Build Coastguard Worker name=`basename ${tgt}` 43*8d67ca89SAndroid Build Coastguard Worker src=$dir/$name 44*8d67ca89SAndroid Build Coastguard Worker if [ -e $tgt ]; then 45*8d67ca89SAndroid Build Coastguard Worker ln -sfT `realpath ${tgt}` $src 46*8d67ca89SAndroid Build Coastguard Worker fi 47*8d67ca89SAndroid Build Coastguard Worker } 48*8d67ca89SAndroid Build Coastguard Worker cd ${ANDROID_BUILD_TOP} 49*8d67ca89SAndroid Build Coastguard Worker mkdir -p ${TARGET_OUT_DATA}/local/tmp 50*8d67ca89SAndroid Build Coastguard Worker for i in ${TARGET_OUT}/bin/bootstrap/* ${TARGET_OUT}/bin/*; do 51*8d67ca89SAndroid Build Coastguard Worker make_link /system/bin ${i} 52*8d67ca89SAndroid Build Coastguard Worker done 53*8d67ca89SAndroid Build Coastguard Worker ln -fs `realpath ${TARGET_OUT}/etc` /system/ 54*8d67ca89SAndroid Build Coastguard Worker for i in ${TARGET_OUT}/lib/bootstrap/* ${TARGET_OUT}/lib/*; do 55*8d67ca89SAndroid Build Coastguard Worker make_link /system/lib ${i} 56*8d67ca89SAndroid Build Coastguard Worker done 57*8d67ca89SAndroid Build Coastguard Worker for i in ${TARGET_OUT}/lib64/bootstrap/* ${TARGET_OUT}/lib64/*; do 58*8d67ca89SAndroid Build Coastguard Worker make_link /system/lib64 ${i} 59*8d67ca89SAndroid Build Coastguard Worker done 60*8d67ca89SAndroid Build Coastguard Worker ) 61*8d67ca89SAndroid Build Coastguard Worker fi 62*8d67ca89SAndroid Build Coastguard Worker} 63