From c7d29c86b244d468b81f57ca5c58de905295886a Mon Sep 17 00:00:00 2001 From: Derek Sollenberger Date: Thu, 10 Jul 2014 08:10:20 -0400 Subject: [PATCH] update our build system to support the experimental L-Release NDK This includes adding 64-bit support for arm, x86, and mips. R=borenet@google.com Review URL: https://codereview.chromium.org/377993002 --- gyp/gpu.gyp | 3 +++ platform_tools/android/bin/android_setup.sh | 12 ++++++++++ .../android/bin/utils/setup_toolchain.sh | 9 +++++-- platform_tools/android/gyp/skia_android.gypi | 28 +++++++++++++++------- 4 files changed, 41 insertions(+), 11 deletions(-) diff --git a/gyp/gpu.gyp b/gyp/gpu.gyp index 6fbd05a..c1da4f1 100644 --- a/gyp/gpu.gyp +++ b/gyp/gpu.gyp @@ -215,6 +215,9 @@ '../src/gpu/gl/GrGLDefaultInterface_none.cpp', '../src/gpu/gl/GrGLCreateNativeInterface_none.cpp', ], + 'defines': [ + 'GR_GL_USE_NEW_SHADER_SOURCE_SIGNATURE=1', + ], 'link_settings': { 'libraries': [ '-lGLESv2', diff --git a/platform_tools/android/bin/android_setup.sh b/platform_tools/android/bin/android_setup.sh index 4a7326b..4209050 100755 --- a/platform_tools/android/bin/android_setup.sh +++ b/platform_tools/android/bin/android_setup.sh @@ -116,6 +116,10 @@ setup_device() { DEFINES="${DEFINES} skia_resource_cache_mb_limit=32" ANDROID_ARCH="x86" ;; + x86_64 | x64) + DEFINES="${DEFINES} skia_arch_type=x86 skia_arch_width=64" + ANDROID_ARCH="x86_64" + ;; arm_v7) DEFINES="${DEFINES} skia_arch_type=arm arm_neon_optional=1 arm_version=7 arm_thumb=0" ANDROID_ARCH="arm" @@ -132,11 +136,19 @@ setup_device() { DEFINES="${DEFINES} skia_arch_type=arm arm_neon=0 arm_thumb=1" ANDROID_ARCH="arm" ;; + arm64) + DEFINES="${DEFINES} skia_arch_type=arm64 skia_arch_width=64" + ANDROID_ARCH="arm64" + ;; mips) DEFINES="${DEFINES} skia_arch_type=mips skia_arch_width=32" DEFINES="${DEFINES} skia_resource_cache_mb_limit=32" ANDROID_ARCH="mips" ;; + mips64) + DEFINES="${DEFINES} skia_arch_type=mips skia_arch_width=64" + ANDROID_ARCH="mips64" + ;; *) if [ -z "$ANDROID_IGNORE_UNKNOWN_DEVICE" ]; then echo "ERROR: unknown device $TARGET_DEVICE" diff --git a/platform_tools/android/bin/utils/setup_toolchain.sh b/platform_tools/android/bin/utils/setup_toolchain.sh index 1e90616..4476bb8 100755 --- a/platform_tools/android/bin/utils/setup_toolchain.sh +++ b/platform_tools/android/bin/utils/setup_toolchain.sh @@ -27,9 +27,14 @@ if [ -z "$SCRIPT_DIR" ]; then fi function default_toolchain() { - API_LEVEL=14 - NDK_REV=${NDK_REV-8e} + NDK_REV=${NDK_REV-10exp} ANDROID_ARCH=${ANDROID_ARCH-arm} + + if [[ $ANDROID_ARCH == *64* ]]; then + API_LEVEL=L # Experimental Android L-Release system images + else + API_LEVEL=14 # Official Android 4.0 system images + fi TOOLCHAIN_DIR=${SCRIPT_DIR}/../toolchains if [ $(uname) == "Darwin" ]; then diff --git a/platform_tools/android/gyp/skia_android.gypi b/platform_tools/android/gyp/skia_android.gypi index 624b599..210a61a 100644 --- a/platform_tools/android/gyp/skia_android.gypi +++ b/platform_tools/android/gyp/skia_android.gypi @@ -9,16 +9,26 @@ ], 'variables': { 'conditions': [ - [ 'skia_arch_type == "x86"', { + [ 'skia_arch_type == "arm" and arm_version != 7', { + 'android_arch%': "armeabi", + }], + [ 'skia_arch_type == "arm" and arm_version == 7', { + 'android_arch%': "armeabi-v7a", + }], + [ 'skia_arch_type == "arm64"', { + 'android_arch%': "arm64-v8a", + }], + [ 'skia_arch_type == "x86" and skia_arch_width == 32', { 'android_arch%': "x86", - }, { - 'conditions': [ - [ 'arm_version == 7', { - 'android_arch%': "armeabi-v7a", - }, { - 'android_arch%': "armeabi", - }], - ], + }], + [ 'skia_arch_type == "x86" and skia_arch_width == 64', { + 'android_arch%': "x86_64", + }], + [ 'skia_arch_type == "mips" and skia_arch_width == 32', { + 'android_arch%': "mips", + }], + [ 'skia_arch_type == "mips" and skia_arch_width == 64', { + 'android_arch%': "mips64", }], ], }, -- 2.7.4