|  | # 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 | 
|  |  | 
|  | # Builds secondary abi for APKs, supports build 32-bit arch as secondary | 
|  | # abi in 64-bit Monochrome and WebView. | 
|  | build_apk_secondary_abi = true | 
|  | } | 
|  |  | 
|  | if (current_cpu == "x86") { | 
|  | android_app_abi = "x86" | 
|  | } else if (current_cpu == "arm") { | 
|  | import("//build/config/arm.gni") | 
|  | if (arm_version < 7) { | 
|  | android_app_abi = "armeabi" | 
|  | } else { | 
|  | android_app_abi = "armeabi-v7a" | 
|  | } | 
|  | } else if (current_cpu == "mipsel") { | 
|  | android_app_abi = "mips" | 
|  | } else if (current_cpu == "x64") { | 
|  | android_app_abi = "x86_64" | 
|  | } else if (current_cpu == "arm64") { | 
|  | android_app_abi = "arm64-v8a" | 
|  | } else if (current_cpu == "mips64el") { | 
|  | android_app_abi = "mips64" | 
|  | } else { | 
|  | assert(false, "Unknown Android ABI: " + current_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}" | 
|  | } |