run-on-host fixes
* Fix the path to bionic-benchmarks-glibc * Add symlinks for the toybox symlink commands. Each symlink bypasses the intermediate symlink in ${OUT}/system/bin and points to the final toybox binary. Suppress a bunch of warnings by skipping symlinks for non-existent files. The new spawn benchmarks try to run /system/bin/true. (They also try to run /vendor/bin/true and print an error.) * Quote "$@" * Use soong_ui.bash --dumpvars-mode to set a bunch of variables, rather than get_build_var, which invokes Soong once per variable. This reduces the "build/run-on-host.sh" runtime from 4s to 1.3s. * build/run-on-host.sh isn't executable and is only useful when it's sourced into another shell, so remove its shebang to reduce confusion. Bug: none Test: \ . build/envsetup.sh lunch aosp_x86_64-userdebug . bionic/build/run-on-host.sh prepare MODULES-IN-bionic MODULES-IN-external-toybox /system/bin/true Change-Id: I59e9a6aca77d35b16bdf51759c5fc7e725bfc67c
This commit is contained in:
parent
14d5c12ed6
commit
3cfb89d451
2 changed files with 32 additions and 20 deletions
|
@ -8,7 +8,7 @@ if [ "$1" = glibc ]; then
|
|||
cd ${ANDROID_BUILD_TOP}
|
||||
export ANDROID_DATA=${TARGET_OUT_DATA}
|
||||
export ANDROID_ROOT=${TARGET_OUT}
|
||||
${HOST_OUT}/nativetest64/bionic-benchmarks-glibc/bionic-benchmarks-glibc $@
|
||||
${HOST_OUT}/benchmarktest64/bionic-benchmarks-glibc/bionic-benchmarks-glibc "$@"
|
||||
)
|
||||
exit 0
|
||||
elif [ "$1" != 32 -a "$1" != 64 ]; then
|
||||
|
@ -25,7 +25,7 @@ if [ ${HOST_OS}-${HOST_ARCH} = linux-x86 -o ${HOST_OS}-${HOST_ARCH} = linux-x86_
|
|||
cd ${ANDROID_BUILD_TOP}
|
||||
export ANDROID_DATA=${TARGET_OUT_DATA}
|
||||
export ANDROID_ROOT=${TARGET_OUT}
|
||||
${BENCHMARKS}/bionic-benchmarks/bionic-benchmarks $@
|
||||
${BENCHMARKS}/bionic-benchmarks/bionic-benchmarks "$@"
|
||||
)
|
||||
else
|
||||
echo "$0 not supported on TARGET_ARCH=$TARGET_ARCH"
|
||||
|
|
|
@ -1,18 +1,21 @@
|
|||
#!/bin/bash -e
|
||||
# source this script in bash
|
||||
|
||||
source ${ANDROID_BUILD_TOP}/build/envsetup.sh
|
||||
|
||||
TARGET_ARCH=$(get_build_var TARGET_ARCH)
|
||||
TARGET_OUT=$(get_build_var TARGET_OUT)
|
||||
TARGET_OUT_EXECUTABLES=$(get_build_var TARGET_OUT_EXECUTABLES)
|
||||
TARGET_OUT_DATA=$(get_build_var TARGET_OUT_DATA)
|
||||
HOST_OS=$(get_build_var HOST_OS)
|
||||
HOST_ARCH=$(get_build_var HOST_ARCH)
|
||||
HOST_OUT=$(get_build_var HOST_OUT)
|
||||
# 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()
|
||||
{
|
||||
BITS=$1
|
||||
local BITS=$1
|
||||
shift
|
||||
|
||||
BENCHMARKS=${TARGET_OUT_DATA}/benchmarktest
|
||||
|
@ -23,27 +26,36 @@ function prepare()
|
|||
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 $@
|
||||
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;
|
||||
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
|
||||
ln -fs `realpath ${i}` /system/bin/
|
||||
make_link /system/bin ${i}
|
||||
done
|
||||
ln -fs `realpath ${TARGET_OUT}/etc` /system/
|
||||
for i in ${TARGET_OUT}/lib/bootstrap/* ${TARGET_OUT}/lib/*; do
|
||||
ln -fs `realpath ${i}` /system/lib/
|
||||
make_link /system/lib ${i}
|
||||
done
|
||||
for i in ${TARGET_OUT}/lib64/bootstrap/* ${TARGET_OUT}/lib64/*; do
|
||||
ln -fs `realpath ${i}` /system/lib64/
|
||||
make_link /system/lib64 ${i}
|
||||
done
|
||||
)
|
||||
fi
|
||||
|
|
Loading…
Reference in a new issue