# Copyright 2015 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. 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 } is_nacl_irt = false is_nacl_nonsfi = false nacl_toolchain_dir = "//native_client/toolchain/${host_os}_x86" if (is_nacl_glibc) { if (target_cpu == "x86" || target_cpu == "x64") { nacl_toolchain_package = "nacl_x86_glibc" } else if (target_cpu == "arm") { nacl_toolchain_package = "nacl_arm_glibc" } } else { nacl_toolchain_package = "pnacl_newlib" } if (target_cpu == "pnacl") { _nacl_tuple = "pnacl" } else if (target_cpu == "x86" || target_cpu == "x64") { _nacl_tuple = "x86_64-nacl" } else if (target_cpu == "arm") { _nacl_tuple = "arm-nacl" } else if (target_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_" + target_cpu is_nacl_irt = current_toolchain == nacl_irt_toolchain # Non-SFI mode is a lightweight sandbox used by Chrome OS for running ARC # applications. nacl_nonsfi_toolchain = "//build/toolchain/nacl:newlib_pnacl_nonsfi" is_nacl_nonsfi = current_toolchain == nacl_nonsfi_toolchain