1 # Copyright 2015 The Chromium Authors. All rights reserved. 2 # Use of this source code is governed by a BSD-style license that can be 3 # found in the LICENSE file. 4 5 import("//build/config/features.gni") 6 7 declare_args() { 8 # Native Client supports both Newlib and Glibc C libraries where Newlib 9 # is assumed to be the default one; use this to determine whether Glibc 10 # is being used instead. 11 is_nacl_glibc = false 12 } 13 14 is_nacl_irt = false 15 is_nacl_nonsfi = false 16 17 if (enable_nacl) { 18 nacl_toolchain_dir = "//native_client/toolchain/${host_os}_x86" 19 20 if (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 30 if (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 } 39 40 nacl_toolchain_bindir = "${nacl_toolchain_dir}/${nacl_toolchain_package}/bin" 41 nacl_toolchain_tooldir = 42 "${nacl_toolchain_dir}/${nacl_toolchain_package}/${_nacl_tuple}" 43 nacl_toolprefix = "${nacl_toolchain_bindir}/${_nacl_tuple}-" 44 45 nacl_irt_toolchain = "//build/toolchain/nacl:irt_" + target_cpu 46 is_nacl_irt = current_toolchain == nacl_irt_toolchain 47 48 # Non-SFI mode is a lightweight sandbox used by Chrome OS for running ARC 49 # applications. 50 nacl_nonsfi_toolchain = "//build/toolchain/nacl:newlib_pnacl_nonsfi" 51 is_nacl_nonsfi = current_toolchain == nacl_nonsfi_toolchain 52 } 53