# Copyright 2017 The Chromium Authors # Use of this source code is governed by a BSD-style license that can be # found in the LICENSE file. import("//build/config/chromecast_build.gni") import("//build/config/gclient_args.gni") # The NaCl sandbox and toolchain currently only support x86-32, x86-64 # and ARM32. # # The NaCl sandbox itself supports MIPS32, but the Clang toolchain # support for that is no longer up-to-date, so we don't include that # in the list of CPU architectures to enable NaCl on. # # NaCl is also supported on ARM64 Chrome OS, where the ARM32 NaCl # sandbox is used. # NaCl works on non-Chrome-OS ARM64 Linux, but we don't enable it by default in # that case. _cpu_is_supported = target_cpu == "x86" || target_cpu == "x64" || target_cpu == "arm" || (target_cpu == "arm64" && target_os == "chromeos") declare_args() { # Enables Native Client support. # # Intentionally and permanently disable nacl on arm64 mac. enable_nacl = checkout_nacl && _cpu_is_supported && target_os != "ios" && !is_android && !is_fuchsia && !is_castos && !(is_win && host_os != "win") && !(is_mac && (host_os != "mac" || target_cpu != "x64")) } assert(!(is_win && host_os != "win") || !enable_nacl, "NaCl doesn't work in win cross builds, crbug.com/774186") assert(!enable_nacl || checkout_nacl)