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