aboutsummaryrefslogtreecommitdiffhomepage
path: root/gn/BUILDCONFIG.gn
diff options
context:
space:
mode:
authorGravatar mtklein <mtklein@chromium.org>2016-08-25 14:50:44 -0700
committerGravatar Commit bot <commit-bot@chromium.org>2016-08-25 14:50:44 -0700
commit7d6fb2c92d096ac3630e23d561a4077a974a815c (patch)
tree73f270ac1a7fb82e00ef08b3f5615a46b99bf312 /gn/BUILDCONFIG.gn
parent44df651ebefc284acc2f66425dff3ea0b0e14b36 (diff)
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
Diffstat (limited to 'gn/BUILDCONFIG.gn')
-rw-r--r--gn/BUILDCONFIG.gn23
1 files changed, 23 insertions, 0 deletions
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"