From 6ef6999017febaf0039b83c1ff4da1efe9c0e85d Mon Sep 17 00:00:00 2001 From: mtklein Date: Wed, 14 Sep 2016 06:12:09 -0700 Subject: GN: Android Vulkan support Android's the easiest place to start supporting Vulkan, so it's up first. ndk_api becomes user-specifiable so that the Vulkan bots can kick it up to 24, the first release supporting Vulkan. The defaults remain the same: 18 for 32-bit and 21 for 64-bit, the first release supporting 64-bit. To test this, I set ndk_api=24 and skia_use_vulkan=true in GN, then $ ninja -C out dm; and droid out/dm --config vk --src gm Seems to work! Bot scripts to follow. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2336343002 Review-Url: https://codereview.chromium.org/2336343002 --- gn/BUILDCONFIG.gn | 23 ++++++++++++++++------- 1 file changed, 16 insertions(+), 7 deletions(-) (limited to 'gn/BUILDCONFIG.gn') diff --git a/gn/BUILDCONFIG.gn b/gn/BUILDCONFIG.gn index 1ef121a823..e6a8b695ff 100644 --- a/gn/BUILDCONFIG.gn +++ b/gn/BUILDCONFIG.gn @@ -9,6 +9,7 @@ declare_args() { is_debug = true is_component_build = false ndk = "" + ndk_api = 0 # 0 == picked automatically for target_cpu. sanitize = "" } @@ -45,7 +46,15 @@ if (is_android) { ndk_target = "" ndk_platform = "" ndk_stdlib = "" - nkd_gccdir = "" + ndk_gccdir = "" + + if (ndk_api == 0) { + ndk_api = 18 + if (target_cpu == "arm64" || target_cpu == "mips64el" || + target_cpu == "x64") { + ndk_api = 21 + } + } if (host_os == "linux") { ndk_host = "linux-x86_64" @@ -55,32 +64,32 @@ if (is_android) { if (target_cpu == "arm64") { ndk_target = "aarch64-linux-android" - ndk_platform = "android-21/arch-arm64" + ndk_platform = "android-${ndk_api}/arch-arm64" ndk_stdlib = "arm64-v8a" ndk_gccdir = ndk_target } else if (target_cpu == "arm") { ndk_target = "arm-linux-androideabi" - ndk_platform = "android-18/arch-arm" + ndk_platform = "android-${ndk_api}/arch-arm" ndk_stdlib = "armeabi-v7a" ndk_gccdir = ndk_target } else if (target_cpu == "mips64el") { ndk_target = "mips64el-linux-android" - ndk_platform = "android-21/arch-mips64" + ndk_platform = "android-${ndk_api}/arch-mips64" ndk_stdlib = "mips64" ndk_gccdir = ndk_target } else if (target_cpu == "mipsel") { ndk_target = "mipsel-linux-android" - ndk_platform = "android-18/arch-mips" + ndk_platform = "android-${ndk_api}/arch-mips" ndk_stdlib = "mips" ndk_gccdir = ndk_target } else if (target_cpu == "x64") { ndk_target = "x86_64-linux-android" - ndk_platform = "android-21/arch-x86_64" + ndk_platform = "android-${ndk_api}/arch-x86_64" ndk_stdlib = "x86_64" ndk_gccdir = ndk_stdlib } else if (target_cpu == "x86") { ndk_target = "i686-linux-android" - ndk_platform = "android-18/arch-x86" + ndk_platform = "android-${ndk_api}/arch-x86" ndk_stdlib = "x86" ndk_gccdir = ndk_stdlib } -- cgit v1.2.3