xref: /aosp_15_r20/external/perfetto/gn/standalone/android.gni (revision 6dbdd20afdafa5e3ca9b8809fa73465d530080dc)
1*6dbdd20aSAndroid Build Coastguard Worker# Copyright (C) 2017 The Android Open Source Project
2*6dbdd20aSAndroid Build Coastguard Worker#
3*6dbdd20aSAndroid Build Coastguard Worker# Licensed under the Apache License, Version 2.0 (the "License");
4*6dbdd20aSAndroid Build Coastguard Worker# you may not use this file except in compliance with the License.
5*6dbdd20aSAndroid Build Coastguard Worker# You may obtain a copy of the License at
6*6dbdd20aSAndroid Build Coastguard Worker#
7*6dbdd20aSAndroid Build Coastguard Worker#      http://www.apache.org/licenses/LICENSE-2.0
8*6dbdd20aSAndroid Build Coastguard Worker#
9*6dbdd20aSAndroid Build Coastguard Worker# Unless required by applicable law or agreed to in writing, software
10*6dbdd20aSAndroid Build Coastguard Worker# distributed under the License is distributed on an "AS IS" BASIS,
11*6dbdd20aSAndroid Build Coastguard Worker# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12*6dbdd20aSAndroid Build Coastguard Worker# See the License for the specific language governing permissions and
13*6dbdd20aSAndroid Build Coastguard Worker# limitations under the License.
14*6dbdd20aSAndroid Build Coastguard Worker
15*6dbdd20aSAndroid Build Coastguard Workerdeclare_args() {
16*6dbdd20aSAndroid Build Coastguard Worker  android_api_level = 21
17*6dbdd20aSAndroid Build Coastguard Worker  android_ndk_root = rebase_path("//buildtools/ndk")
18*6dbdd20aSAndroid Build Coastguard Worker  _android_toolchain_version = "4.9"
19*6dbdd20aSAndroid Build Coastguard Worker
20*6dbdd20aSAndroid Build Coastguard Worker  if (host_os == "linux") {
21*6dbdd20aSAndroid Build Coastguard Worker    android_host = "linux-x86_64"
22*6dbdd20aSAndroid Build Coastguard Worker  } else if (host_os == "mac") {
23*6dbdd20aSAndroid Build Coastguard Worker    android_host = "darwin-x86_64"
24*6dbdd20aSAndroid Build Coastguard Worker  } else {
25*6dbdd20aSAndroid Build Coastguard Worker    android_host = "UNSUPPORTED_ON_WINDOWS"
26*6dbdd20aSAndroid Build Coastguard Worker  }
27*6dbdd20aSAndroid Build Coastguard Worker}
28*6dbdd20aSAndroid Build Coastguard Worker
29*6dbdd20aSAndroid Build Coastguard Workerdeclare_args() {
30*6dbdd20aSAndroid Build Coastguard Worker  android_llvm_dir = "$android_ndk_root/toolchains/llvm/prebuilt/$android_host"
31*6dbdd20aSAndroid Build Coastguard Worker  android_clangrt_dir = "$android_llvm_dir/lib/clang/17/lib/linux"
32*6dbdd20aSAndroid Build Coastguard Worker  android_compile_sysroot = "$android_llvm_dir/sysroot"
33*6dbdd20aSAndroid Build Coastguard Worker
34*6dbdd20aSAndroid Build Coastguard Worker  if (current_cpu == "x86") {
35*6dbdd20aSAndroid Build Coastguard Worker    android_abi_target = "i686-linux-android"
36*6dbdd20aSAndroid Build Coastguard Worker    android_llvm_arch = "i686"
37*6dbdd20aSAndroid Build Coastguard Worker  } else if (current_cpu == "arm") {
38*6dbdd20aSAndroid Build Coastguard Worker    android_abi_target = "arm-linux-androideabi"
39*6dbdd20aSAndroid Build Coastguard Worker    android_llvm_arch = "arm"
40*6dbdd20aSAndroid Build Coastguard Worker  } else if (current_cpu == "x64") {
41*6dbdd20aSAndroid Build Coastguard Worker    android_abi_target = "x86_64-linux-android"
42*6dbdd20aSAndroid Build Coastguard Worker    android_llvm_arch = "x86_64"
43*6dbdd20aSAndroid Build Coastguard Worker  } else if (current_cpu == "arm64") {
44*6dbdd20aSAndroid Build Coastguard Worker    android_abi_target = "aarch64-linux-android"
45*6dbdd20aSAndroid Build Coastguard Worker    android_llvm_arch = "aarch64"
46*6dbdd20aSAndroid Build Coastguard Worker  } else {
47*6dbdd20aSAndroid Build Coastguard Worker    assert(false, "Need android libgcc support for this arch.")
48*6dbdd20aSAndroid Build Coastguard Worker  }
49*6dbdd20aSAndroid Build Coastguard Worker
50*6dbdd20aSAndroid Build Coastguard Worker  if (current_cpu == "x86") {
51*6dbdd20aSAndroid Build Coastguard Worker    android_app_abi = "x86"
52*6dbdd20aSAndroid Build Coastguard Worker  } else if (current_cpu == "arm") {
53*6dbdd20aSAndroid Build Coastguard Worker    android_app_abi = "armeabi-v7a"
54*6dbdd20aSAndroid Build Coastguard Worker  } else if (current_cpu == "x64") {
55*6dbdd20aSAndroid Build Coastguard Worker    android_app_abi = "x86_64"
56*6dbdd20aSAndroid Build Coastguard Worker  } else if (current_cpu == "arm64") {
57*6dbdd20aSAndroid Build Coastguard Worker    android_app_abi = "arm64-v8a"
58*6dbdd20aSAndroid Build Coastguard Worker  } else {
59*6dbdd20aSAndroid Build Coastguard Worker    assert(false, "Unknown ABI: " + current_cpu)
60*6dbdd20aSAndroid Build Coastguard Worker  }
61*6dbdd20aSAndroid Build Coastguard Worker}
62