crosvm/devices/Cargo.toml
Alexandre Courbot c02960d6b2 virtio: video: make libvda a selectable feature
For the crosvm externalization project, we want to be able to compile
video support without libvda, which is only supported on Chrome OS.

Add an explicit "libvda" feature to crosvm and make all the libvda code
depend on that feature, so any trace of libvda can effectively be
compiled out.

For compatibility, the "libvda" feature is selected by the
"video-decoder" or "video-encoder" features.

BUG=b:161774071
BUG=b:169295147
TEST=`cargo build --features="video-decoder,video-encoder"` results in a
     crosvm binary with libvda enabled.

Change-Id: Ice3d3089b73b77f6b009400953063f2cf8f385da
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/crosvm/+/3026351
Reviewed-by: Keiichi Watanabe <keiichiw@chromium.org>
Tested-by: kokoro <noreply+kokoro@google.com>
Commit-Queue: Alexandre Courbot <acourbot@chromium.org>
2021-12-02 02:19:34 +00:00

76 lines
2.2 KiB
TOML

[package]
name = "devices"
version = "0.1.0"
authors = ["The Chromium OS Authors"]
edition = "2018"
[features]
audio = []
audio_cras = ["libcras"]
chromeos = ["dbus", "protobuf", "system_api"]
direct = []
gpu = ["gpu_display","rutabaga_gfx"]
tpm = ["tpm2"]
usb = []
video-decoder = []
video-encoder = []
minigbm = ["rutabaga_gfx/minigbm"]
x = ["gpu_display/x"]
virgl_renderer = ["gpu", "rutabaga_gfx/virgl_renderer"]
gfxstream = ["gpu", "rutabaga_gfx/gfxstream"]
[dependencies]
async-task = "4"
acpi_tables = {path = "../acpi_tables" }
anyhow = "*"
audio_streams = "*"
base = { path = "../common/base" }
bit_field = { path = "../bit_field" }
cros_async = { path = "../common/cros_async" }
data_model = { path = "../common/data_model" }
dbus = { version = "0.9", optional = true }
disk = { path = "../disk" }
enumn = "0.1.0"
fuse = {path = "../fuse" }
getopts = { version = "0.2" }
gpu_display = { path = "../gpu_display", optional = true }
rutabaga_gfx = { path = "../rutabaga_gfx", optional = true }
hypervisor = { path = "../hypervisor" }
kvm_sys = { path = "../kvm_sys" }
libc = "*"
libcras = { version = "*", optional = true }
libvda = { path = "../libvda", optional = true }
linux_input_sys = { path = "../linux_input_sys" }
minijail = "*"
net_sys = { path = "../net_sys" }
net_util = { path = "../net_util" }
once_cell = "1.7.2"
p9 = "*"
power_monitor = { path = "../power_monitor" }
protobuf = { version = "2.3", optional = true }
protos = { path = "../protos", optional = true }
remain = "*"
resources = { path = "../resources" }
serde = { version = "1", features = [ "derive" ] }
serde_json = "1"
smallvec = "1.6.1"
sync = { path = "../common/sync" }
sys_util = { path = "../common/sys_util" }
system_api = { version = "*", optional = true }
thiserror = "1.0.20"
tpm2 = { path = "../tpm2", optional = true }
usb_util = { path = "../usb_util" }
vfio_sys = { path = "../vfio_sys" }
vhost = { path = "../vhost" }
vmm_vhost = { path = "../third_party/vmm_vhost", features = ["vmm", "device"] }
virtio_sys = { path = "../virtio_sys" }
vm_control = { path = "../vm_control" }
vm_memory = { path = "../vm_memory" }
[dependencies.futures]
version = "*"
features = ["std"]
default-features = false
[dev-dependencies]
tempfile = "3"