xref: /aosp_15_r20/external/angle/build/config/nacl/config.gni (revision 8975f5c5ed3d1c378011245431ada316dfb6f244)
1*8975f5c5SAndroid Build Coastguard Worker# Copyright 2015 The Chromium Authors
2*8975f5c5SAndroid Build Coastguard Worker# Use of this source code is governed by a BSD-style license that can be
3*8975f5c5SAndroid Build Coastguard Worker# found in the LICENSE file.
4*8975f5c5SAndroid Build Coastguard Worker
5*8975f5c5SAndroid Build Coastguard Workerdeclare_args() {
6*8975f5c5SAndroid Build Coastguard Worker  # Native Client supports multiple toolchains:
7*8975f5c5SAndroid Build Coastguard Worker  #   - nacl_glibc, based on gcc and glibc.
8*8975f5c5SAndroid Build Coastguard Worker  #   - pnacl_newlib, based on llvm 3.7 and newlib (default).
9*8975f5c5SAndroid Build Coastguard Worker  #   - saigo_newlib, based on llvm 12+ and newlib.
10*8975f5c5SAndroid Build Coastguard Worker
11*8975f5c5SAndroid Build Coastguard Worker  # True if nacl_glibc is used.
12*8975f5c5SAndroid Build Coastguard Worker  is_nacl_glibc = false
13*8975f5c5SAndroid Build Coastguard Worker
14*8975f5c5SAndroid Build Coastguard Worker  # True if saigo_newlib is used.
15*8975f5c5SAndroid Build Coastguard Worker  is_nacl_saigo = false
16*8975f5c5SAndroid Build Coastguard Worker}
17*8975f5c5SAndroid Build Coastguard Worker
18*8975f5c5SAndroid Build Coastguard Workernacl_toolchain_dir = "//native_client/toolchain/${host_os}_x86"
19*8975f5c5SAndroid Build Coastguard Worker
20*8975f5c5SAndroid Build Coastguard Workerif (is_nacl_glibc) {
21*8975f5c5SAndroid Build Coastguard Worker  if (current_cpu == "x86" || current_cpu == "x64") {
22*8975f5c5SAndroid Build Coastguard Worker    nacl_toolchain_package = "nacl_x86_glibc"
23*8975f5c5SAndroid Build Coastguard Worker  } else if (current_cpu == "arm") {
24*8975f5c5SAndroid Build Coastguard Worker    nacl_toolchain_package = "nacl_arm_glibc"
25*8975f5c5SAndroid Build Coastguard Worker  }
26*8975f5c5SAndroid Build Coastguard Worker} else {
27*8975f5c5SAndroid Build Coastguard Worker  nacl_toolchain_package = "pnacl_newlib"
28*8975f5c5SAndroid Build Coastguard Worker}
29*8975f5c5SAndroid Build Coastguard Worker
30*8975f5c5SAndroid Build Coastguard Workerif (current_cpu == "pnacl") {
31*8975f5c5SAndroid Build Coastguard Worker  _nacl_tuple = "pnacl"
32*8975f5c5SAndroid Build Coastguard Worker} else if (current_cpu == "x86" || current_cpu == "x64") {
33*8975f5c5SAndroid Build Coastguard Worker  _nacl_tuple = "x86_64-nacl"
34*8975f5c5SAndroid Build Coastguard Worker} else if (current_cpu == "arm") {
35*8975f5c5SAndroid Build Coastguard Worker  _nacl_tuple = "arm-nacl"
36*8975f5c5SAndroid Build Coastguard Worker} else if (current_cpu == "mipsel") {
37*8975f5c5SAndroid Build Coastguard Worker  _nacl_tuple = "mipsel-nacl"
38*8975f5c5SAndroid Build Coastguard Worker} else {
39*8975f5c5SAndroid Build Coastguard Worker  # In order to allow this file to be included unconditionally
40*8975f5c5SAndroid Build Coastguard Worker  # from build files that can't depend on //components/nacl/features.gni
41*8975f5c5SAndroid Build Coastguard Worker  # we provide a dummy value that should be harmless if nacl isn't needed.
42*8975f5c5SAndroid Build Coastguard Worker  # If nacl *is* needed this will result in a real error, indicating that
43*8975f5c5SAndroid Build Coastguard Worker  # people need to set the toolchain path correctly.
44*8975f5c5SAndroid Build Coastguard Worker  _nacl_tuple = "unknown"
45*8975f5c5SAndroid Build Coastguard Worker}
46*8975f5c5SAndroid Build Coastguard Worker
47*8975f5c5SAndroid Build Coastguard Workernacl_toolchain_bindir = "${nacl_toolchain_dir}/${nacl_toolchain_package}/bin"
48*8975f5c5SAndroid Build Coastguard Workernacl_toolchain_tooldir =
49*8975f5c5SAndroid Build Coastguard Worker    "${nacl_toolchain_dir}/${nacl_toolchain_package}/${_nacl_tuple}"
50*8975f5c5SAndroid Build Coastguard Workernacl_toolprefix = "${nacl_toolchain_bindir}/${_nacl_tuple}-"
51*8975f5c5SAndroid Build Coastguard Worker
52*8975f5c5SAndroid Build Coastguard Workernacl_irt_toolchain = "//build/toolchain/nacl:irt_" + current_cpu
53*8975f5c5SAndroid Build Coastguard Workeris_nacl_irt = current_toolchain == nacl_irt_toolchain
54