# 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.

# Use LLVM amdgpu target when building LLVM.
LLVM_TARGETS="AMDGPU"

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

USE="${USE} grunt"

USE="${USE} cros_ec"

USE="${USE} touchview"

# Use ext4 crypto
USE="${USE} direncryption"

USE="${USE} unibuild"

# Ability to run guest VMs.
# TODO(crbug.com/1086063) Re-enable virtio_gpu once fixed
USE="${USE} kvm_host -crosvm-wl-dmabuf crosvm-gpu"

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

# Enable diagnostics for cros_healthd
USE="${USE} diagnostics"

# Add g2touch firmware update tool
INPUT_DEVICES="${INPUT_DEVICES} g2touch"

# this indicates that this board has a -kernelnext overlay
USE="${USE} has-kernelnext"

# Include the pixart firmware updating tool
INPUT_DEVICES="${INPUT_DEVICES} pixart"

# Include the elan_i2chid firmware updating tool
INPUT_DEVICES="${INPUT_DEVICES} elan_i2chid"
