blob: 3d191569c3c363059339258f5091a3f840b29426 [file] [log] [blame]
# 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)