mirror of
https://chromium.googlesource.com/crosvm/crosvm
synced 2024-11-28 17:44:10 +00:00
fa32ced1e0
Long-term libvda will be replaced with an implementation that can function outside of ChromeOS. In the meantime thes allows crosvm to be built externally and pass clippy with all features enabled. BUG=b:191507399 TEST=Tests in crosvm and cros_sdk both pass: $ ./test_all $ cros_run_unit_tests --package=crosvm Cq-Depend: chromium:2989315, chromium:2986403 Change-Id: Ic37bda4426d69d16cb4bc0d7ba6f81052f6f2f59 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/crosvm/+/2983505 Tested-by: Dennis Kempin <denniskempin@google.com> Tested-by: kokoro <noreply+kokoro@google.com> Commit-Queue: Dennis Kempin <denniskempin@google.com> Reviewed-by: Alexandre Courbot <acourbot@chromium.org>
130 lines
3.9 KiB
TOML
130 lines
3.9 KiB
TOML
[package]
|
|
name = "crosvm"
|
|
version = "0.1.0"
|
|
authors = ["The Chromium OS Authors"]
|
|
edition = "2018"
|
|
default-run = "crosvm"
|
|
|
|
[lib]
|
|
path = "src/crosvm.rs"
|
|
|
|
[[bin]]
|
|
name = "crosvm"
|
|
path = "src/main.rs"
|
|
|
|
[[bin]]
|
|
name = "crosvm-direct"
|
|
path = "src/main.rs"
|
|
required-features = [ "direct" ]
|
|
|
|
[profile.release]
|
|
panic = 'abort'
|
|
overflow-checks = true
|
|
|
|
# We currently need to exclude some crates from the workspace to allow
|
|
# these crates to be independently built by portage. These crates will
|
|
# eventually be moved into separate repositories.
|
|
# The only workspace members that need to be explicitly specified here are those
|
|
# that are not dependencies of the crosvm root crate.
|
|
[workspace]
|
|
members = [
|
|
"fuzz",
|
|
"qcow_utils",
|
|
"integration_tests",
|
|
"libcrosvm_control",
|
|
"vhost_user_devices",
|
|
]
|
|
exclude = [
|
|
"assertions",
|
|
"base",
|
|
"cros_async",
|
|
"data_model",
|
|
"rand_ish",
|
|
"sync",
|
|
"sys_util",
|
|
"tempfile",
|
|
"vm_memory",
|
|
]
|
|
|
|
[features]
|
|
default = ["audio", "gpu", "usb"]
|
|
chromeos = ["base/chromeos"]
|
|
default-no-sandbox = []
|
|
direct = ["devices/direct"]
|
|
audio = ["devices/audio"]
|
|
gpu = ["devices/gpu"]
|
|
plugin = ["protos/plugin", "crosvm_plugin", "kvm", "kvm_sys", "protobuf"]
|
|
power-monitor-powerd = ["arch/power-monitor-powerd"]
|
|
tpm = ["devices/tpm"]
|
|
usb = ["devices/usb"]
|
|
video-decoder = ["devices/video-decoder"]
|
|
video-encoder = ["devices/video-encoder"]
|
|
wl-dmabuf = ["devices/minigbm"]
|
|
x = ["devices/x"]
|
|
virgl_renderer_next = ["rutabaga_gfx/virgl_renderer_next"]
|
|
composite-disk = ["protos/composite-disk", "protobuf", "disk/composite-disk"]
|
|
virgl_renderer = ["devices/virgl_renderer"]
|
|
gfxstream = ["devices/gfxstream"]
|
|
gdb = ["gdbstub", "thiserror", "arch/gdb", "vm_control/gdb", "x86_64/gdb"]
|
|
|
|
[dependencies]
|
|
arch = { path = "arch" }
|
|
assertions = { path = "assertions" }
|
|
audio_streams = "*"
|
|
base = "*"
|
|
bit_field = { path = "bit_field" }
|
|
crosvm_plugin = { path = "crosvm_plugin", optional = true }
|
|
data_model = "*"
|
|
devices = { path = "devices" }
|
|
disk = { path = "disk" }
|
|
enumn = { path = "enumn" }
|
|
gdbstub = { version = "0.4.0", optional = true }
|
|
rutabaga_gfx = { path = "rutabaga_gfx"}
|
|
hypervisor = { path = "hypervisor" }
|
|
kernel_cmdline = { path = "kernel_cmdline" }
|
|
kernel_loader = { path = "kernel_loader" }
|
|
kvm = { path = "kvm", optional = true }
|
|
kvm_sys = { path = "kvm_sys", optional = true }
|
|
libc = "0.2.93"
|
|
libcras = "*"
|
|
minijail = "*" # provided by ebuild
|
|
net_util = { path = "net_util" }
|
|
p9 = "*"
|
|
protobuf = { version = "2.3", optional = true }
|
|
protos = { path = "protos", optional = true }
|
|
rand_ish = { path = "rand_ish" }
|
|
remain = "*"
|
|
resources = { path = "resources" }
|
|
serde_json = "*"
|
|
sync = { path = "sync" }
|
|
tempfile = "*"
|
|
thiserror = { version = "1.0.20", optional = true }
|
|
vhost = { path = "vhost" }
|
|
vm_control = { path = "vm_control" }
|
|
acpi_tables = { path = "acpi_tables" }
|
|
vm_memory = { path = "vm_memory" }
|
|
|
|
[target.'cfg(target_arch = "x86_64")'.dependencies]
|
|
x86_64 = { path = "x86_64" }
|
|
|
|
[target.'cfg(any(target_arch = "aarch64", target_arch = "arm"))'.dependencies]
|
|
aarch64 = { path = "aarch64" }
|
|
|
|
[dev-dependencies]
|
|
base = "*"
|
|
|
|
[patch.crates-io]
|
|
assertions = { path = "assertions" }
|
|
audio_streams = { path = "../../third_party/adhd/audio_streams" } # ignored by ebuild
|
|
base = { path = "base" }
|
|
cras-sys = { path = "../../third_party/adhd/cras/client/cras-sys" } # ignored by ebuild
|
|
cros_fuzz = { path = "../../platform2/cros-fuzz" } # ignored by ebuild
|
|
data_model = { path = "data_model" }
|
|
libcras = { path = "../../third_party/adhd/cras/client/libcras" } # ignored by ebuild
|
|
minijail = { path = "../../aosp/external/minijail/rust/minijail" } # ignored by ebuild
|
|
p9 = { path = "../../platform2/vm_tools/p9" } # ignored by ebuild
|
|
sync = { path = "sync" }
|
|
sys_util = { path = "sys_util" }
|
|
tempfile = { path = "tempfile" }
|
|
vmm_vhost = { path = "../../third_party/rust-vmm/vhost", features = ["vhost-user-master", "vhost-user-slave"] } # ignored by ebuild
|
|
wire_format_derive = { path = "../../platform2/vm_tools/p9/wire_format_derive" } # ignored by ebuild
|