xref: /aosp_15_r20/external/cronet/components/nacl/features.gni (revision 6777b5387eb2ff775bb5750e3f5d96f37fb7352b)
1*6777b538SAndroid Build Coastguard Worker# Copyright 2017 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 Workerimport("//build/config/gclient_args.gni")
6*6777b538SAndroid Build Coastguard Worker
7*6777b538SAndroid Build Coastguard Worker# The NaCl sandbox and toolchain currently only support x86-32, x86-64
8*6777b538SAndroid Build Coastguard Worker# and ARM32.
9*6777b538SAndroid Build Coastguard Worker#
10*6777b538SAndroid Build Coastguard Worker# The NaCl sandbox itself supports MIPS32, but the Clang toolchain
11*6777b538SAndroid Build Coastguard Worker# support for that is no longer up-to-date, so we don't include that
12*6777b538SAndroid Build Coastguard Worker# in the list of CPU architectures to enable NaCl on.
13*6777b538SAndroid Build Coastguard Worker#
14*6777b538SAndroid Build Coastguard Worker# NaCl is also supported on ARM64 Chrome OS, where the ARM32 NaCl
15*6777b538SAndroid Build Coastguard Worker# sandbox is used.
16*6777b538SAndroid Build Coastguard Worker# NaCl works on non-Chrome-OS ARM64 Linux, but we don't enable it by default in
17*6777b538SAndroid Build Coastguard Worker# that case.
18*6777b538SAndroid Build Coastguard Worker_cpu_is_supported =
19*6777b538SAndroid Build Coastguard Worker    target_cpu == "x86" || target_cpu == "x64" || target_cpu == "arm" ||
20*6777b538SAndroid Build Coastguard Worker    (target_cpu == "arm64" && target_os == "chromeos")
21*6777b538SAndroid Build Coastguard Worker
22*6777b538SAndroid Build Coastguard Workerdeclare_args() {
23*6777b538SAndroid Build Coastguard Worker  # Enables Native Client support.
24*6777b538SAndroid Build Coastguard Worker  #
25*6777b538SAndroid Build Coastguard Worker  # NaCl is only supported on ChromeOS.
26*6777b538SAndroid Build Coastguard Worker  enable_nacl = checkout_nacl && _cpu_is_supported && target_os == "chromeos"
27*6777b538SAndroid Build Coastguard Worker}
28*6777b538SAndroid Build Coastguard Worker
29*6777b538SAndroid Build Coastguard Workerassert(!enable_nacl || checkout_nacl)
30