# Copyright 2017 The Chromium OS Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.

# Initial value just for style purposes.
USE=""

# A flag to indicate this board is a -kernelnext board
USE="${USE} is-kernelnext"
USE="${USE} -has-kernelnext"
USE="${USE} chell-kernelnext"
USE="${USE} -kernel-3_18"
USE="${USE} kernel-4_19"

# Enable VMs
USE="${USE} kvm_host crosvm-gpu virtio_gpu"

# Require enable-experimental-kernel-vm-support experiment flag in order to
# enable crostini
USE="${USE} kvm_transition"

USE="${USE} containers"

USE="${USE} direncryption"

USE="${USE} chell has_keyboard_backlight"

# Allow consumer kiosk.
# NOTE: Deprecating feature. New board should NOT have it.
USE="${USE} allow_consumer_kiosk"

# Disable unibuild on this legacy board. This is only for existing (as of Jan 2019)
# boards as all new boards must be unibuild enabled moving forward. Do not copy this
# to new boards as it will be rejected. See
# https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/chromeos-config/README.md
# for further details about chromeos-config, which is the required entry point for
# unified builds.
USE="${USE} -unibuild"

# All firmwares to build from the EC code base
EC_FIRMWARE="chell"
EC_FIRMWARE_EXTRA="chell_pd"
PD_FIRMWARE="chell_pd"

# Uncomment this line to activate the serial port.
#TTY_CONSOLE="ttyS0"

# Enable background blur.
USE="${USE} background_blur"
