diff options
author | borenet@google.com <borenet@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> | 2013-08-06 20:32:29 +0000 |
---|---|---|
committer | borenet@google.com <borenet@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> | 2013-08-06 20:32:29 +0000 |
commit | 7627535b8f968ba135e0ec16d15f30c31fe786d4 (patch) | |
tree | a8f4bf53e7ee4fa6a9ca9beeddf9adb172991622 | |
parent | aa2d35144b92e71f377942468080547d00b52868 (diff) |
Re-organize Android scripts
Addresses https://code.google.com/p/skia/issues/detail?id=1486
R=djsollen@google.com
Review URL: https://codereview.chromium.org/22411004
git-svn-id: http://skia.googlecode.com/svn/trunk@10585 2bbb7eff-a529-9590-31e7-b0007b416f81
-rwxr-xr-x | platform_tools/android/bin/android_gdb | 31 | ||||
-rwxr-xr-x | platform_tools/android/bin/android_gdb_exe | 27 | ||||
-rwxr-xr-x | platform_tools/android/bin/android_gdbserver | 16 | ||||
-rwxr-xr-x | platform_tools/android/bin/android_make | 32 | ||||
-rwxr-xr-x | platform_tools/android/bin/android_setup.sh | 59 |
5 files changed, 68 insertions, 97 deletions
diff --git a/platform_tools/android/bin/android_gdb b/platform_tools/android/bin/android_gdb index 361a0bd338..9087084912 100755 --- a/platform_tools/android/bin/android_gdb +++ b/platform_tools/android/bin/android_gdb @@ -4,32 +4,11 @@ # and enters debugging environment. SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" -APP_NAME=$(basename $1) -PORT=5039 - -# Collect extra arguments to be passed to the Skia binary -shift -deviceID="" -while (( "$#" )); do - - if [[ $(echo "$1" | grep "^-d$") != "" ]]; - then - deviceID=$2 - shift - else - APP_ARGS="$APP_ARGS $1" - fi - - shift -done +source $SCRIPT_DIR/android_setup.sh -# hack for x86 support in android_setup.sh -if [ "$deviceID" == "x86" ] || [ "$deviceID" == "razr_i" ] -then - ANDROID_ARCH=x86 -fi +APP_NAME=${APP_ARGS[0]} +PORT=5039 -source $SCRIPT_DIR/android_setup.sh source $SCRIPT_DIR/utils/setup_adb.sh echo "Installing Skia Android app" @@ -43,14 +22,14 @@ $ADB shell ps | grep gdbserver | awk '{print $2}' | xargs -r $ADB shell kill # We need the debug symbols from these files GDB_TMP_DIR=$(pwd)/android_gdb_tmp -mkdir $GDB_TMP_DIR +mkdir -p $GDB_TMP_DIR echo "Copying symbol files" $ADB pull /system/bin/app_process $GDB_TMP_DIR $ADB pull /system/lib/libc.so $GDB_TMP_DIR $ADB pull /data/data/com.skia/lib/lib$APP_NAME.so $GDB_TMP_DIR # Launch the app -SK_COMMAND="$APP_NAME$APP_ARGS" +SK_COMMAND="$APP_ARGS" echo "Running command $SK_COMMAND" $ADB shell am broadcast -a com.skia.intent.action.LAUNCH_SKIA -n com.skia/.SkiaReceiver -e args "$SK_COMMAND" diff --git a/platform_tools/android/bin/android_gdb_exe b/platform_tools/android/bin/android_gdb_exe index 190f223e56..1d2c36118f 100755 --- a/platform_tools/android/bin/android_gdb_exe +++ b/platform_tools/android/bin/android_gdb_exe @@ -2,30 +2,11 @@ # # android_gdb: Pushes gdbserver. Connects and enters debugging environment. -deviceID="" -while (( "$#" )); do - - if [[ $(echo "$1" | grep "^-d$") != "" ]]; - then - deviceID="$2" - shift - else - gdbVars=("${gdbVars[@]}" "$1") - fi - - shift -done - -# hack for x86 support in android_setup.sh -if [ "$deviceID" == "x86" ] || [ "$deviceID" == "razr_i" ] -then - export ANDROID_ARCH=x86 -fi - SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" +source $SCRIPT_DIR/android_setup.sh # setup the gdbserver -$SCRIPT_DIR/android_gdbserver ${gdbVars[@]} +$SCRIPT_DIR/android_gdbserver -d ${DEVICE_ID} ${APP_ARGS} # quit if gdbserver setup failed if [[ "$?" != "0" ]]; then @@ -38,7 +19,7 @@ sleep 2 # variables that must match those in gdb_server GDB_TMP_DIR=$(pwd)/android_gdb_tmp -APP_NAME=$(basename ${gdbVars[0]}) +APP_NAME=${APP_ARGS[0]} PORT=5039 # Set up gdb commands @@ -53,8 +34,6 @@ echo "break launch_app" >> $GDBSETUP echo "continue" >> $GDBSETUP echo "sharedLibrary $APP_NAME" >> $GDBSETUP -source $SCRIPT_DIR/android_setup.sh - # Launch gdb client echo "Entering gdb client shell" if [ "$ANDROID_ARCH" == "x86" ] diff --git a/platform_tools/android/bin/android_gdbserver b/platform_tools/android/bin/android_gdbserver index e04710eff4..5c45b56acd 100755 --- a/platform_tools/android/bin/android_gdbserver +++ b/platform_tools/android/bin/android_gdbserver @@ -3,17 +3,11 @@ # android_gdbserver: Pushes gdbserver. Starts debugging environment. SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" -APP_NAME=$(basename $1) -PORT=5039 +source $SCRIPT_DIR/android_setup.sh -# Collect extra arguments to be passed to the Skia binary -shift -while (( "$#" )); do - APP_ARGS="$APP_ARGS $1" - shift -done +APP_NAME=${APP_ARGS[0]} +PORT=5039 -source $SCRIPT_DIR/android_setup.sh source $SCRIPT_DIR/utils/setup_adb.sh # We need the debug symbols from these files @@ -54,5 +48,5 @@ $ADB shell ps | grep gdbserver | awk '{print $2}' | xargs $ADB shell kill $ADB shell ps | grep skia_launcher | awk '{print $2}' | xargs $ADB shell kill # Starting up gdbserver in android shell -echo "Starting gdbserver with command: skia_launcher $APP_NAME$APP_ARGS" -$ADB shell gdbserver :5039 /system/bin/skia_launcher $APP_NAME$APP_ARGS &
\ No newline at end of file +echo "Starting gdbserver with command: skia_launcher $APP_ARGS" +$ADB shell gdbserver :5039 /system/bin/skia_launcher $APP_ARGS &
\ No newline at end of file diff --git a/platform_tools/android/bin/android_make b/platform_tools/android/bin/android_make index 0e6ae5e77d..e5952e25be 100755 --- a/platform_tools/android/bin/android_make +++ b/platform_tools/android/bin/android_make @@ -1,21 +1,18 @@ #!/bin/bash -deviceID="" - -while (( "$#" )); do +SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" +source $SCRIPT_DIR/android_setup.sh - if [[ $(echo "$1" | grep "^-d$") != "" ]]; - then - deviceID="$2" - shift - elif [[ "$1" == "--use-ccache" ]]; +for arg in ${APP_ARGS} +do + if [[ "${arg}" == "--use-ccache" ]]; then if [[ -z "$ANDROID_MAKE_CCACHE" ]]; then ANDROID_MAKE_CCACHE=$(which ccache) fi else - makeVars=("${makeVars[@]}" "$1") + makeVars=("${makeVars[@]}" "${arg}") fi shift @@ -29,23 +26,6 @@ if [[ -n "$ANDROID_MAKE_CCACHE" ]]; then fi fi -SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" - -# hack for x86 support in android_setup.sh -if [ "$deviceID" == "x86" ] || [ "$deviceID" == "razr_i" ] -then - ANDROID_ARCH="x86" -fi - -source $SCRIPT_DIR/android_setup.sh - -setup_device $deviceID -returnVal=$? -if [ $returnVal != 0 ] -then - exit 1; -fi - # write the out directory into the .android_config file echo $SKIA_OUT > .android_config diff --git a/platform_tools/android/bin/android_setup.sh b/platform_tools/android/bin/android_setup.sh index 0c3626fe5b..db1145f5d1 100755 --- a/platform_tools/android/bin/android_setup.sh +++ b/platform_tools/android/bin/android_setup.sh @@ -1,3 +1,23 @@ +#!/bin/bash +# +# android_setup.sh: Sets environment variables used by other Android scripts. + +# Parse the arguments for a DEVICE_ID. +DEVICE_ID="" +while (( "$#" )); do + if [[ $(echo "$1" | grep "^-d$") != "" ]]; + then + DEVICE_ID=$2 + shift + else + APP_ARGS="$APP_ARGS $1" + fi + + shift +done + +APP_ARGS=$(echo ${APP_ARGS} | sed 's/^ *//g') + function exportVar { NAME=$1 VALUE=$2 @@ -105,19 +125,19 @@ setup_toolchain() { # Remove the '-gcc' at the end to get the full toolchain prefix ANDROID_TOOLCHAIN_PREFIX=${GCC%%-gcc} - exportVar AR "$ANDROID_TOOLCHAIN_PREFIX-ar" if [[ -z "$ANDROID_MAKE_CCACHE" ]]; then - exportVar CC "$ANDROID_TOOLCHAIN_PREFIX-gcc" - exportVar CXX "$ANDROID_TOOLCHAIN_PREFIX-g++" - exportVar LINK "$ANDROID_TOOLCHAIN_PREFIX-gcc" + export CC="$ANDROID_TOOLCHAIN_PREFIX-gcc" + export CXX="$ANDROID_TOOLCHAIN_PREFIX-g++" + export LINK="$ANDROID_TOOLCHAIN_PREFIX-gcc" else - exportVar CC "$ANDROID_MAKE_CCACHE $ANDROID_TOOLCHAIN_PREFIX-gcc" - exportVar CXX "$ANDROID_MAKE_CCACHE $ANDROID_TOOLCHAIN_PREFIX-g++" - exportVar LINK "$ANDROID_MAKE_CCACHE $ANDROID_TOOLCHAIN_PREFIX-gcc" + export CC="$ANDROID_MAKE_CCACHE $ANDROID_TOOLCHAIN_PREFIX-gcc" + export CXX="$ANDROID_MAKE_CCACHE $ANDROID_TOOLCHAIN_PREFIX-g++" + export LINK="$ANDROID_MAKE_CCACHE $ANDROID_TOOLCHAIN_PREFIX-gcc" fi - exportVar RANLIB "$ANDROID_TOOLCHAIN_PREFIX-ranlib" - exportVar OBJCOPY "$ANDROID_TOOLCHAIN_PREFIX-objcopy" - exportVar STRIP "$ANDROID_TOOLCHAIN_PREFIX-strip" + export AR="$ANDROID_TOOLCHAIN_PREFIX-ar" + export RANLIB="$ANDROID_TOOLCHAIN_PREFIX-ranlib" + export OBJCOPY="$ANDROID_TOOLCHAIN_PREFIX-objcopy" + export STRIP="$ANDROID_TOOLCHAIN_PREFIX-strip" } # Helper function to configure the GYP defines to the appropriate values @@ -141,36 +161,46 @@ setup_device() { nexus_s) DEFINES="${DEFINES} skia_arch_type=arm arm_neon=1 arm_version=7 arm_thumb=1" DEFINES="${DEFINES} skia_texture_cache_mb_limit=24" + ANDROID_ARCH="arm" ;; nexus_4 | nexus_7 | nexus_10) DEFINES="${DEFINES} skia_arch_type=arm arm_neon=1 arm_version=7 arm_thumb=1" + ANDROID_ARCH="arm" ;; xoom) DEFINES="${DEFINES} skia_arch_type=arm arm_neon=0 arm_version=7 arm_thumb=1" + ANDROID_ARCH="arm" ;; galaxy_nexus) DEFINES="${DEFINES} skia_arch_type=arm arm_neon=1 arm_version=7 arm_thumb=1" DEFINES="${DEFINES} skia_texture_cache_mb_limit=32" + ANDROID_ARCH="arm" ;; razr_i) DEFINES="${DEFINES} skia_arch_type=x86 skia_arch_width=32" DEFINES="${DEFINES} skia_texture_cache_mb_limit=32" + ANDROID_ARCH="x86" ;; arm_v7) DEFINES="${DEFINES} skia_arch_type=arm arm_neon_optional=1 arm_version=7 arm_thumb=0" + ANDROID_ARCH="arm" ;; arm_v7_thumb) DEFINES="${DEFINES} skia_arch_type=arm arm_neon_optional=1 arm_version=7 arm_thumb=1" + ANDROID_ARCH="arm" ;; arm) DEFINES="${DEFINES} skia_arch_type=arm arm_neon=0 arm_thumb=0" + ANDROID_ARCH="arm" ;; arm_thumb) DEFINES="${DEFINES} skia_arch_type=arm arm_neon=0 arm_thumb=1" + ANDROID_ARCH="arm" ;; x86) DEFINES="${DEFINES} skia_arch_type=x86 skia_arch_width=32" DEFINES="${DEFINES} skia_texture_cache_mb_limit=32" + ANDROID_ARCH="x86" ;; *) echo -n "ERROR: unknown device specified ($TARGET_DEVICE), valid values: " @@ -183,6 +213,9 @@ setup_device() { # Set up the toolchain. setup_toolchain + if [[ "$?" != "0" ]]; then + return 1 + fi DEFINES="${DEFINES} android_toolchain=${TOOLCHAIN_TYPE}" # Use the "android" flavor of the Makefile generator for both Linux and OS X. @@ -224,3 +257,9 @@ adb_pull_if_needed() { $ADB pull $ANDROID_SRC $HOST_DST fi } + +# Set up the device. +setup_device "${DEVICE_ID}" +if [[ "$?" != "0" ]]; then + exit 1 +fi |