| # 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}" | 
 | } |