# source this script in bash source ${ANDROID_BUILD_TOP}/build/envsetup.sh # See envsetup.sh for an example of using --dumpvars-mode to set shell variables. eval "$(cd ${ANDROID_BUILD_TOP}; build/soong/soong_ui.bash --dumpvars-mode --vars="\ TARGET_ARCH \ TARGET_OUT \ TARGET_OUT_EXECUTABLES \ TARGET_OUT_DATA \ HOST_OS \ HOST_ARCH \ HOST_OUT \ ")" function prepare() { local BITS=$1 shift BENCHMARKS=${TARGET_OUT_DATA}/benchmarktest NATIVETEST=${TARGET_OUT_DATA}/nativetest if [ "${BITS}" = 64 ]; then BENCHMARKS=${BENCHMARKS}64 NATIVETEST=${NATIVETEST}64 fi if [ ${TARGET_ARCH} = x86 -o ${TARGET_ARCH} = x86_64 ]; then m -j MODULES-IN-bionic MODULES-IN-external-icu MODULES-IN-external-mksh ${TARGET_OUT}/etc/hosts "$@" if [ ! -d /system ]; then echo "Attempting to create /system" sudo mkdir -p -m 0777 /system mkdir -p -m 0777 /system/bin mkdir -p -m 0777 /system/lib mkdir -p -m 0777 /system/lib64 fi ( function make_link() { dir=$1 tgt=$2 name=`basename ${tgt}` src=$dir/$name if [ -e $tgt ]; then ln -sfT `realpath ${tgt}` $src fi } cd ${ANDROID_BUILD_TOP} mkdir -p ${TARGET_OUT_DATA}/local/tmp for i in ${TARGET_OUT}/bin/bootstrap/* ${TARGET_OUT}/bin/*; do make_link /system/bin ${i} done ln -fs `realpath ${TARGET_OUT}/etc` /system/ for i in ${TARGET_OUT}/lib/bootstrap/* ${TARGET_OUT}/lib/*; do make_link /system/lib ${i} done for i in ${TARGET_OUT}/lib64/bootstrap/* ${TARGET_OUT}/lib64/*; do make_link /system/lib64 ${i} done ) fi }