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