101 lines
3.8 KiB
Text
101 lines
3.8 KiB
Text
# 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("//chromium/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 =
|
|
"//chromium/build/toolchain/android:android_clang_${android_secondary_abi_cpu}"
|
|
}
|