summaryrefslogtreecommitdiffstats
path: root/third_party/libwebrtc/build/config/android/abi.gni
diff options
context:
space:
mode:
Diffstat (limited to 'third_party/libwebrtc/build/config/android/abi.gni')
-rw-r--r--third_party/libwebrtc/build/config/android/abi.gni101
1 files changed, 101 insertions, 0 deletions
diff --git a/third_party/libwebrtc/build/config/android/abi.gni b/third_party/libwebrtc/build/config/android/abi.gni
new file mode 100644
index 0000000000..1dbbf0cd61
--- /dev/null
+++ b/third_party/libwebrtc/build/config/android/abi.gni
@@ -0,0 +1,101 @@
+# Copyright 2017 The Chromium Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+# Logic separated out from config.gni so that it can be used by compiler.gni
+# without introducing a circular dependency.
+
+# NOTE: Because Chrome OS builds may depend on targets built with the Android
+# toolchain, this GNI file may be read and processed from within Chrome OS
+# toolchains. Checking |is_android| here would therefore be too restrictive.
+assert(is_android || is_chromeos)
+
+declare_args() {
+ # Adds intrumentation to each function. Writes a file with the order that
+ # functions are called at startup.
+ use_order_profiling = false
+
+ # Only effective if use_order_profiling = true. When this is true,
+ # instrumentation switches from startup profiling after a delay, and
+ # then waits for a devtools memory dump request to dump all
+ # profiling information. When false, the same delay is used to switch from
+ # startup, and then after a second delay all profiling information is dumped.
+ # See base::android::orderfile::StartDelayedDump for more information.
+ devtools_instrumentation_dumping = false
+
+ # Only effective if use_order_profiling = true. When this is true the call
+ # graph based instrumentation is used.
+ use_call_graph = false
+
+ # Build additional browser splits with HWASAN instrumentation enabled.
+ build_hwasan_splits = false
+
+ # *For CQ puposes only* Leads to non-working APKs.
+ # Forces all APKs/bundles to be 64-bit only to improve build speed in the CQ
+ # (no need to also build 32-bit library).
+ skip_secondary_abi_for_cq = false
+}
+
+assert(!devtools_instrumentation_dumping || use_order_profiling,
+ "devtools_instrumentation_dumping requires use_order_profiling")
+assert(!use_call_graph || use_order_profiling,
+ "use_call_graph requires use_order_profiling")
+
+if (target_cpu == "x86") {
+ android_app_abi = "x86"
+ android_abi_target = "i686-linux-android"
+} else if (target_cpu == "arm") {
+ import("//build/config/arm.gni")
+ if (arm_version < 7) {
+ android_app_abi = "armeabi"
+ } else {
+ android_app_abi = "armeabi-v7a"
+ }
+ android_abi_target = "arm-linux-androideabi"
+} else if (target_cpu == "mipsel") {
+ android_app_abi = "mips"
+ android_abi_target = "mipsel-linux-android"
+} else if (target_cpu == "x64") {
+ android_app_abi = "x86_64"
+
+ # Place holder for x64 support, not tested.
+ # TODO: Enable clang support for Android x64. http://crbug.com/539781
+ android_abi_target = "x86_64-linux-android"
+} else if (target_cpu == "arm64") {
+ android_app_abi = "arm64-v8a"
+ android_abi_target = "aarch64-linux-android"
+} else if (target_cpu == "mips64el") {
+ android_app_abi = "mips64"
+
+ # Place holder for mips64 support, not tested.
+ android_abi_target = "mips64el-linux-android"
+} else {
+ assert(false, "Unknown Android ABI: " + target_cpu)
+}
+
+if (target_cpu == "arm64" || target_cpu == "x64" || target_cpu == "mips64el") {
+ android_64bit_target_cpu = true
+} else if (target_cpu == "arm" || target_cpu == "x86" ||
+ target_cpu == "mipsel") {
+ android_64bit_target_cpu = false
+} else {
+ assert(false, "Unknown target CPU: $target_cpu")
+}
+
+# Intentionally do not define android_app_secondary_abi_cpu and
+# android_app_secondary_abi for 32-bit target_cpu, since they are not used.
+if (target_cpu == "arm64") {
+ android_secondary_abi_cpu = "arm"
+ android_app_secondary_abi = "armeabi-v7a"
+} else if (target_cpu == "x64") {
+ android_secondary_abi_cpu = "x86"
+ android_app_secondary_abi = "x86"
+} else if (target_cpu == "mips64el") {
+ android_secondary_abi_cpu = "mipsel"
+ android_app_secondary_abi = "mips"
+}
+
+if (defined(android_secondary_abi_cpu)) {
+ android_secondary_abi_toolchain =
+ "//build/toolchain/android:android_clang_${android_secondary_abi_cpu}"
+}