| # Copyright 2015 The Chromium Authors |
| # Use of this source code is governed by a BSD-style license that can be |
| # found in the LICENSE file. |
| |
| declare_args() { |
| # Native Client supports multiple toolchains: |
| # - nacl_glibc, based on gcc and glibc. |
| # - pnacl_newlib, based on llvm 3.7 and newlib (default). |
| # - saigo_newlib, based on llvm 12+ and newlib. |
| |
| # True if nacl_glibc is used. |
| is_nacl_glibc = false |
| |
| # True if saigo_newlib is used. |
| is_nacl_saigo = false |
| } |
| |
| nacl_toolchain_dir = "//native_client/toolchain/${host_os}_x86" |
| |
| if (is_nacl_glibc) { |
| if (current_cpu == "x86" || current_cpu == "x64") { |
| nacl_toolchain_package = "nacl_x86_glibc" |
| } else if (current_cpu == "arm") { |
| nacl_toolchain_package = "nacl_arm_glibc" |
| } |
| } else { |
| nacl_toolchain_package = "pnacl_newlib" |
| } |
| |
| if (current_cpu == "pnacl") { |
| _nacl_tuple = "pnacl" |
| } else if (current_cpu == "x86" || current_cpu == "x64") { |
| _nacl_tuple = "x86_64-nacl" |
| } else if (current_cpu == "arm") { |
| _nacl_tuple = "arm-nacl" |
| } else if (current_cpu == "mipsel") { |
| _nacl_tuple = "mipsel-nacl" |
| } else { |
| # In order to allow this file to be included unconditionally |
| # from build files that can't depend on //components/nacl/features.gni |
| # we provide a dummy value that should be harmless if nacl isn't needed. |
| # If nacl *is* needed this will result in a real error, indicating that |
| # people need to set the toolchain path correctly. |
| _nacl_tuple = "unknown" |
| } |
| |
| nacl_toolchain_bindir = "${nacl_toolchain_dir}/${nacl_toolchain_package}/bin" |
| nacl_toolchain_tooldir = |
| "${nacl_toolchain_dir}/${nacl_toolchain_package}/${_nacl_tuple}" |
| nacl_toolprefix = "${nacl_toolchain_bindir}/${_nacl_tuple}-" |
| |
| nacl_irt_toolchain = "//build/toolchain/nacl:irt_" + current_cpu |
| is_nacl_irt = current_toolchain == nacl_irt_toolchain |