From 7d6fb2c92d096ac3630e23d561a4077a974a815c Mon Sep 17 00:00:00 2001 From: mtklein Date: Thu, 25 Aug 2016 14:50:44 -0700 Subject: GN: Android Once you have downloaded an android NDK, you can set the ndk GN arg to use it. E.g. my gn.args looks like: is_debug = false ndk = "/opt/android-ndk" This should be enough to get you going for an arm64 build. You ought to be able to tweak that to other architectures by changing target_cpu to "arm", "x86", "x86-64", etc. That won't quite work until I follow this up a bit, but the skeleton is there. This is enough to get me compiled, linked, and running to completion on my N5x. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2275983004 Review-Url: https://codereview.chromium.org/2275983004 --- gn/BUILDCONFIG.gn | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) (limited to 'gn/BUILDCONFIG.gn') diff --git a/gn/BUILDCONFIG.gn b/gn/BUILDCONFIG.gn index d6833571c8..6aa4451e59 100644 --- a/gn/BUILDCONFIG.gn +++ b/gn/BUILDCONFIG.gn @@ -8,11 +8,15 @@ declare_args() { is_debug = true is_component_build = false + ndk = "" } # Platform detection if (target_os == "") { target_os = host_os + if (ndk != "") { + target_os = "android" + } } if (current_os == "") { current_os = target_os @@ -20,6 +24,9 @@ if (current_os == "") { if (target_cpu == "") { target_cpu = host_cpu + if (ndk != "") { + target_cpu = "arm64" + } } if (current_cpu == "") { current_cpu = target_cpu @@ -34,6 +41,22 @@ is_win = current_os == "win" is_posix = !is_win +if (is_android) { + ndk_host = "" + ndk_target = "" + ndk_platform = "" + ndk_stdlib = "" + + if (host_os == "linux" && host_cpu == "x64") { + ndk_host = "linux-x86_64" + } + if (target_cpu == "arm64") { + ndk_target = "aarch64-linux-android" + ndk_platform = "android-21/arch-arm64" + ndk_stdlib = "arm64-v8a" + } +} + # A component is either a static or a shared library. template("component") { _component_mode = "static_library" -- cgit v1.2.3