xref: /aosp_15_r20/external/crosvm/Cargo.toml (revision bb4ee6a4ae7042d18b07a98463b9c8b875e44b39)
1*bb4ee6a4SAndroid Build Coastguard Worker[package]
2*bb4ee6a4SAndroid Build Coastguard Workername = "crosvm"
3*bb4ee6a4SAndroid Build Coastguard Workerversion = "0.1.0"
4*bb4ee6a4SAndroid Build Coastguard Workerauthors = ["The ChromiumOS Authors"]
5*bb4ee6a4SAndroid Build Coastguard Workeredition = "2021"
6*bb4ee6a4SAndroid Build Coastguard Workerdefault-run = "crosvm"
7*bb4ee6a4SAndroid Build Coastguard Worker
8*bb4ee6a4SAndroid Build Coastguard Worker[[bin]]
9*bb4ee6a4SAndroid Build Coastguard Workername = "crosvm"
10*bb4ee6a4SAndroid Build Coastguard Workerpath = "src/main.rs"
11*bb4ee6a4SAndroid Build Coastguard Worker
12*bb4ee6a4SAndroid Build Coastguard Worker[profile.release]
13*bb4ee6a4SAndroid Build Coastguard Workerpanic = 'abort'
14*bb4ee6a4SAndroid Build Coastguard Workeropt-level = 3
15*bb4ee6a4SAndroid Build Coastguard Workeroverflow-checks = true
16*bb4ee6a4SAndroid Build Coastguard Worker
17*bb4ee6a4SAndroid Build Coastguard Worker[profile.release-test]
18*bb4ee6a4SAndroid Build Coastguard Workerinherits = 'release'
19*bb4ee6a4SAndroid Build Coastguard Workerpanic = 'unwind'
20*bb4ee6a4SAndroid Build Coastguard Worker
21*bb4ee6a4SAndroid Build Coastguard Worker# Reproduces the options used when building crosvm for ChromeOS.
22*bb4ee6a4SAndroid Build Coastguard Worker[profile.chromeos]
23*bb4ee6a4SAndroid Build Coastguard Workerinherits = "release"
24*bb4ee6a4SAndroid Build Coastguard Workerstrip = "symbols"
25*bb4ee6a4SAndroid Build Coastguard Worker
26*bb4ee6a4SAndroid Build Coastguard Worker# Enables LTO to further reduce the size of the binary.
27*bb4ee6a4SAndroid Build Coastguard Worker[profile.lto]
28*bb4ee6a4SAndroid Build Coastguard Workerinherits = "chromeos"
29*bb4ee6a4SAndroid Build Coastguard Workerlto = true
30*bb4ee6a4SAndroid Build Coastguard Worker
31*bb4ee6a4SAndroid Build Coastguard Worker# Set codegen units to 1 to further reduce binary size.
32*bb4ee6a4SAndroid Build Coastguard Worker[profile.largecodegen]
33*bb4ee6a4SAndroid Build Coastguard Workerinherits = "lto"
34*bb4ee6a4SAndroid Build Coastguard Workercodegen-units = 1
35*bb4ee6a4SAndroid Build Coastguard Worker
36*bb4ee6a4SAndroid Build Coastguard Worker[workspace]
37*bb4ee6a4SAndroid Build Coastguard Worker# Explicitly list all crates of crosvm as workspace members since not all of them may be referenced
38*bb4ee6a4SAndroid Build Coastguard Worker# by dependencies.
39*bb4ee6a4SAndroid Build Coastguard Workermembers = [
40*bb4ee6a4SAndroid Build Coastguard Worker    "aarch64",
41*bb4ee6a4SAndroid Build Coastguard Worker    "acpi_tables",
42*bb4ee6a4SAndroid Build Coastguard Worker    "android_audio",
43*bb4ee6a4SAndroid Build Coastguard Worker    "arch",
44*bb4ee6a4SAndroid Build Coastguard Worker    "argh_helpers",
45*bb4ee6a4SAndroid Build Coastguard Worker    "audio_util",
46*bb4ee6a4SAndroid Build Coastguard Worker    "audio_streams_conformance_test",
47*bb4ee6a4SAndroid Build Coastguard Worker    "base",
48*bb4ee6a4SAndroid Build Coastguard Worker    "base_tokio",
49*bb4ee6a4SAndroid Build Coastguard Worker    "bit_field",
50*bb4ee6a4SAndroid Build Coastguard Worker    "broker_ipc",
51*bb4ee6a4SAndroid Build Coastguard Worker    "common/audio_streams",
52*bb4ee6a4SAndroid Build Coastguard Worker    "common/balloon_control",
53*bb4ee6a4SAndroid Build Coastguard Worker    "common/data_model",
54*bb4ee6a4SAndroid Build Coastguard Worker    "common/sync",
55*bb4ee6a4SAndroid Build Coastguard Worker    "cros_async",
56*bb4ee6a4SAndroid Build Coastguard Worker    "cros_fdt",
57*bb4ee6a4SAndroid Build Coastguard Worker    "cros_tracing",
58*bb4ee6a4SAndroid Build Coastguard Worker    "crosvm_cli",
59*bb4ee6a4SAndroid Build Coastguard Worker    "crosvm_control",
60*bb4ee6a4SAndroid Build Coastguard Worker    "crosvm_plugin",
61*bb4ee6a4SAndroid Build Coastguard Worker    "devices",
62*bb4ee6a4SAndroid Build Coastguard Worker    "disk",
63*bb4ee6a4SAndroid Build Coastguard Worker    "e2e_tests",
64*bb4ee6a4SAndroid Build Coastguard Worker    "ext2",
65*bb4ee6a4SAndroid Build Coastguard Worker    "fuse",
66*bb4ee6a4SAndroid Build Coastguard Worker    "fuzz",
67*bb4ee6a4SAndroid Build Coastguard Worker    "gpu_display",
68*bb4ee6a4SAndroid Build Coastguard Worker    "hypervisor",
69*bb4ee6a4SAndroid Build Coastguard Worker    "hypervisor/hypervisor_test_macro",
70*bb4ee6a4SAndroid Build Coastguard Worker    "io_uring",
71*bb4ee6a4SAndroid Build Coastguard Worker    "kernel_cmdline",
72*bb4ee6a4SAndroid Build Coastguard Worker    "kernel_loader",
73*bb4ee6a4SAndroid Build Coastguard Worker    "kvm_sys",
74*bb4ee6a4SAndroid Build Coastguard Worker    "kvm",
75*bb4ee6a4SAndroid Build Coastguard Worker    "libcras_stub",
76*bb4ee6a4SAndroid Build Coastguard Worker    "linux_input_sys",
77*bb4ee6a4SAndroid Build Coastguard Worker    "media/ffmpeg",
78*bb4ee6a4SAndroid Build Coastguard Worker    "metrics",
79*bb4ee6a4SAndroid Build Coastguard Worker    "metrics_events",
80*bb4ee6a4SAndroid Build Coastguard Worker    "net_sys",
81*bb4ee6a4SAndroid Build Coastguard Worker    "net_util",
82*bb4ee6a4SAndroid Build Coastguard Worker    "power_monitor",
83*bb4ee6a4SAndroid Build Coastguard Worker    "prebuilts",
84*bb4ee6a4SAndroid Build Coastguard Worker    "protos",
85*bb4ee6a4SAndroid Build Coastguard Worker    "proto_build_tools",
86*bb4ee6a4SAndroid Build Coastguard Worker    "resources",
87*bb4ee6a4SAndroid Build Coastguard Worker    "rutabaga_gfx",
88*bb4ee6a4SAndroid Build Coastguard Worker    "serde_keyvalue",
89*bb4ee6a4SAndroid Build Coastguard Worker    "swap",
90*bb4ee6a4SAndroid Build Coastguard Worker    "system_api",
91*bb4ee6a4SAndroid Build Coastguard Worker    "third_party/vmm_vhost",
92*bb4ee6a4SAndroid Build Coastguard Worker    "tools/impl/catapult_converter",
93*bb4ee6a4SAndroid Build Coastguard Worker    "usb_sys",
94*bb4ee6a4SAndroid Build Coastguard Worker    "usb_util",
95*bb4ee6a4SAndroid Build Coastguard Worker    "vendor/generic/anti_tamper",
96*bb4ee6a4SAndroid Build Coastguard Worker    "vendor/generic/crash_report",
97*bb4ee6a4SAndroid Build Coastguard Worker    "vendor/generic/crypto",
98*bb4ee6a4SAndroid Build Coastguard Worker    "vfio_sys",
99*bb4ee6a4SAndroid Build Coastguard Worker    "vhost",
100*bb4ee6a4SAndroid Build Coastguard Worker    "virtio_sys",
101*bb4ee6a4SAndroid Build Coastguard Worker    "vm_control",
102*bb4ee6a4SAndroid Build Coastguard Worker    "vm_memory",
103*bb4ee6a4SAndroid Build Coastguard Worker    "x86_64",
104*bb4ee6a4SAndroid Build Coastguard Worker]
105*bb4ee6a4SAndroid Build Coastguard Worker
106*bb4ee6a4SAndroid Build Coastguard Worker# Exclude crates from crosvm builds completely. Avoid using this if possible as crates added here
107*bb4ee6a4SAndroid Build Coastguard Worker# will not be tested in CI and may break at any time.
108*bb4ee6a4SAndroid Build Coastguard Workerexclude = [
109*bb4ee6a4SAndroid Build Coastguard Worker    "sandbox",
110*bb4ee6a4SAndroid Build Coastguard Worker    "tools/audio_streams_conformance_test",
111*bb4ee6a4SAndroid Build Coastguard Worker    "tools/examples/baremetal",
112*bb4ee6a4SAndroid Build Coastguard Worker    "perfetto",
113*bb4ee6a4SAndroid Build Coastguard Worker
114*bb4ee6a4SAndroid Build Coastguard Worker    # This crate depends on optional features and is compiled via dependencies when enabled.
115*bb4ee6a4SAndroid Build Coastguard Worker    "media/libvda",
116*bb4ee6a4SAndroid Build Coastguard Worker]
117*bb4ee6a4SAndroid Build Coastguard Worker
118*bb4ee6a4SAndroid Build Coastguard Worker[workspace.dependencies]
119*bb4ee6a4SAndroid Build Coastguard Workertokio = { version = "1.29.1", features = ["net", "rt-multi-thread", "time", "sync", "macros"] }
120*bb4ee6a4SAndroid Build Coastguard Worker
121*bb4ee6a4SAndroid Build Coastguard Worker[features]
122*bb4ee6a4SAndroid Build Coastguard Worker## Default features of crosvm. This selection is somewhat arbitrary for historical reasons.
123*bb4ee6a4SAndroid Build Coastguard Workerdefault = ["audio", "balloon", "config-file", "document-features", "gpu", "qcow", "usb", "libvda-stub", "net", "slirp"]
124*bb4ee6a4SAndroid Build Coastguard Worker
125*bb4ee6a4SAndroid Build Coastguard Worker## Enables support for the Android [sparse image format](https://android.googlesource.com/platform/system/core/+/HEAD/libsparse/sparse_format.h)
126*bb4ee6a4SAndroid Build Coastguard Worker## in the block device.
127*bb4ee6a4SAndroid Build Coastguard Workerandroid-sparse = ["disk/android-sparse"]
128*bb4ee6a4SAndroid Build Coastguard Worker
129*bb4ee6a4SAndroid Build Coastguard Worker## Enables cross-platform audio devices
130*bb4ee6a4SAndroid Build Coastguard Workeraudio = ["devices/audio"]
131*bb4ee6a4SAndroid Build Coastguard Worker
132*bb4ee6a4SAndroid Build Coastguard Worker## Enables the virtio-balloon device which allows dynamic scaling of memory via `vm_control`
133*bb4ee6a4SAndroid Build Coastguard Worker## commands. See [Balloon Device](https://crosvm.dev/book/devices/balloon.html) for more
134*bb4ee6a4SAndroid Build Coastguard Worker## information.
135*bb4ee6a4SAndroid Build Coastguard Workerballoon = ["devices/balloon", "vm_control/balloon"]
136*bb4ee6a4SAndroid Build Coastguard Worker
137*bb4ee6a4SAndroid Build Coastguard Worker## Enables the composite-disk format, which adds protobufs as a dependency of the build. This format
138*bb4ee6a4SAndroid Build Coastguard Worker## is intended to speed up crosvm's usage in CI environments that might otherwise have to
139*bb4ee6a4SAndroid Build Coastguard Worker## concatenate large file system images into a single disk image.
140*bb4ee6a4SAndroid Build Coastguard Workercomposite-disk = ["protos/composite-disk", "protobuf", "disk/composite-disk"]
141*bb4ee6a4SAndroid Build Coastguard Worker
142*bb4ee6a4SAndroid Build Coastguard Worker## Enables support for using a seekable zstd archive of a raw disk image as a read-only disk.
143*bb4ee6a4SAndroid Build Coastguard Worker## See [Format Specs](https://github.com/facebook/zstd/tree/v1.5.6/contrib/seekable_format) for
144*bb4ee6a4SAndroid Build Coastguard Worker## more information.
145*bb4ee6a4SAndroid Build Coastguard Workerzstd-disk = ["disk/zstd-disk"]
146*bb4ee6a4SAndroid Build Coastguard Worker
147*bb4ee6a4SAndroid Build Coastguard Worker## Enables virtiofs uid-gid mapping from the host side through command line when user-namespace
148*bb4ee6a4SAndroid Build Coastguard Worker## isn't available for non-root users. This format is supported only for vhost-user-fs.
149*bb4ee6a4SAndroid Build Coastguard Workerfs_runtime_ugid_map = ["devices/fs_runtime_ugid_map"]
150*bb4ee6a4SAndroid Build Coastguard Worker
151*bb4ee6a4SAndroid Build Coastguard Worker## Enables support for JSON configuration files that can be specified using `--cfg`. See
152*bb4ee6a4SAndroid Build Coastguard Worker## [Configuration Files](https://crosvm.dev/book/running_crosvm/options.html#configuration-files)
153*bb4ee6a4SAndroid Build Coastguard Worker## for more information.
154*bb4ee6a4SAndroid Build Coastguard Workerconfig-file = []
155*bb4ee6a4SAndroid Build Coastguard Worker
156*bb4ee6a4SAndroid Build Coastguard Worker## Enables using gdb to debug the guest kernel. See
157*bb4ee6a4SAndroid Build Coastguard Worker## [GDB Support](https://crosvm.dev/book/running_crosvm/advanced_usage.html#gdb-support) for more
158*bb4ee6a4SAndroid Build Coastguard Worker## information.
159*bb4ee6a4SAndroid Build Coastguard Workergdb = [
160*bb4ee6a4SAndroid Build Coastguard Worker    "aarch64/gdb",
161*bb4ee6a4SAndroid Build Coastguard Worker    "arch/gdb",
162*bb4ee6a4SAndroid Build Coastguard Worker    "gdbstub",
163*bb4ee6a4SAndroid Build Coastguard Worker    "gdbstub_arch",
164*bb4ee6a4SAndroid Build Coastguard Worker    "riscv64/gdb",
165*bb4ee6a4SAndroid Build Coastguard Worker    "vm_control/gdb",
166*bb4ee6a4SAndroid Build Coastguard Worker    "x86_64/gdb",
167*bb4ee6a4SAndroid Build Coastguard Worker]
168*bb4ee6a4SAndroid Build Coastguard Worker
169*bb4ee6a4SAndroid Build Coastguard Worker## Enables virtio-net and vhost-user-net backend.
170*bb4ee6a4SAndroid Build Coastguard Workernet = ["devices/net"]
171*bb4ee6a4SAndroid Build Coastguard Worker
172*bb4ee6a4SAndroid Build Coastguard Worker## Enables PCI hotplug. Only available on Linux, and currently only for x86/x86-64.
173*bb4ee6a4SAndroid Build Coastguard Workerpci-hotplug = ["devices/pci-hotplug", "vm_control/pci-hotplug"]
174*bb4ee6a4SAndroid Build Coastguard Worker
175*bb4ee6a4SAndroid Build Coastguard Worker## Enables virtio-pvclock. Currently only available for x86-64 and aarch64.
176*bb4ee6a4SAndroid Build Coastguard Workerpvclock = ["devices/pvclock"]
177*bb4ee6a4SAndroid Build Coastguard Worker
178*bb4ee6a4SAndroid Build Coastguard Worker## Enables the use of the qcow format for block devices.
179*bb4ee6a4SAndroid Build Coastguard Workerqcow = ["disk/qcow"]
180*bb4ee6a4SAndroid Build Coastguard Worker
181*bb4ee6a4SAndroid Build Coastguard Worker## Enables the registered_events mechanisms.
182*bb4ee6a4SAndroid Build Coastguard Workerregistered_events = ["protos/registered_events", "protobuf", "base/proto_tube", "vm_control/registered_events", "devices/registered_events"]
183*bb4ee6a4SAndroid Build Coastguard Worker
184*bb4ee6a4SAndroid Build Coastguard Worker## Enables vmm-swap of guest memory. This is only available on Linux.
185*bb4ee6a4SAndroid Build Coastguard Workerswap = ["aarch64/swap", "arch/swap", "devices/swap", "vm_control/swap", "x86_64/swap", "swap/enable"]
186*bb4ee6a4SAndroid Build Coastguard Worker
187*bb4ee6a4SAndroid Build Coastguard Worker## Enables collection of VM statistics.
188*bb4ee6a4SAndroid Build Coastguard Workerstats = ["devices/stats"]
189*bb4ee6a4SAndroid Build Coastguard Worker
190*bb4ee6a4SAndroid Build Coastguard Worker## Supports tokio as an asynchronous executor.
191*bb4ee6a4SAndroid Build Coastguard Workertokio = ["cros_async/tokio"]
192*bb4ee6a4SAndroid Build Coastguard Worker
193*bb4ee6a4SAndroid Build Coastguard Worker## Enables USB host device passthrough via an emulated XHCI controller.
194*bb4ee6a4SAndroid Build Coastguard Worker## USB is supported only on unix/linux. The feature is a no-op on windows.
195*bb4ee6a4SAndroid Build Coastguard Workerusb = ["devices/usb"]
196*bb4ee6a4SAndroid Build Coastguard Worker
197*bb4ee6a4SAndroid Build Coastguard Worker## Enables the non-upstream virtio wayland protocol. This can be used in conjuction with the gpu
198*bb4ee6a4SAndroid Build Coastguard Worker## feature to enable a zero-copy display pipeline.
199*bb4ee6a4SAndroid Build Coastguard Workerwl-dmabuf = ["devices/minigbm"]
200*bb4ee6a4SAndroid Build Coastguard Worker
201*bb4ee6a4SAndroid Build Coastguard Worker## Enables the usage of the X11 protocol for display on the host.
202*bb4ee6a4SAndroid Build Coastguard Workerx = ["devices/x"]
203*bb4ee6a4SAndroid Build Coastguard Worker
204*bb4ee6a4SAndroid Build Coastguard Worker#! ### Graphics features
205*bb4ee6a4SAndroid Build Coastguard Worker
206*bb4ee6a4SAndroid Build Coastguard Worker## Enables basic virtio-gpu support. This includes basic display and input features, but lacks 3D
207*bb4ee6a4SAndroid Build Coastguard Worker## acceleration in the absence of other crosvm features.
208*bb4ee6a4SAndroid Build Coastguard Workergpu = ["devices/gpu", "gpu_display", "vm_control/gpu"]
209*bb4ee6a4SAndroid Build Coastguard Worker
210*bb4ee6a4SAndroid Build Coastguard Worker## Enables 3D acceleration for guest via the gfxstream protocol over virtio-gpu. This is used for
211*bb4ee6a4SAndroid Build Coastguard Worker## compatibility with the Android Emulator. The protocol provides the best speed and compatibility
212*bb4ee6a4SAndroid Build Coastguard Worker## with GL/vulkan versions by forwarding the guest's calls to the host's graphics libraries and GPU.
213*bb4ee6a4SAndroid Build Coastguard Worker## However, this means the sandbox is not enabled for the virtio-gpu device.
214*bb4ee6a4SAndroid Build Coastguard Workergfxstream = ["devices/gfxstream"]
215*bb4ee6a4SAndroid Build Coastguard Worker
216*bb4ee6a4SAndroid Build Coastguard Worker## Adds a stub implementation of gfxstream to allow us to compile the gfxstream feature without
217*bb4ee6a4SAndroid Build Coastguard Worker## access to the gfxstream library.
218*bb4ee6a4SAndroid Build Coastguard Worker## Note that this feature only allows compilation of gfxstream and will not be functional at
219*bb4ee6a4SAndroid Build Coastguard Worker## runtime.
220*bb4ee6a4SAndroid Build Coastguard Workergfxstream_stub = ["rutabaga_gfx/gfxstream_stub"]
221*bb4ee6a4SAndroid Build Coastguard Worker
222*bb4ee6a4SAndroid Build Coastguard Worker## Enables 3D acceleration for the guest via the virglrenderer library over virtio-gpu.
223*bb4ee6a4SAndroid Build Coastguard Workervirgl_renderer = ["devices/virgl_renderer"]
224*bb4ee6a4SAndroid Build Coastguard Worker
225*bb4ee6a4SAndroid Build Coastguard Worker## Enables the usage of Vulkan for display on the host.
226*bb4ee6a4SAndroid Build Coastguard Workervulkan_display = ["gpu_display/vulkan_display"]
227*bb4ee6a4SAndroid Build Coastguard Worker
228*bb4ee6a4SAndroid Build Coastguard Worker# Enables the highly experimental vulkan graphics buffer allocator.
229*bb4ee6a4SAndroid Build Coastguard Worker# see rutabaga_gfx/Cargo.toml for instructions on building with enabled.
230*bb4ee6a4SAndroid Build Coastguard Workervulkano = ["rutabaga_gfx/vulkano"]
231*bb4ee6a4SAndroid Build Coastguard Worker
232*bb4ee6a4SAndroid Build Coastguard Worker# Enables the GPU display backend for Android. The backend uses Android surface as the backing
233*bb4ee6a4SAndroid Build Coastguard Worker# store.
234*bb4ee6a4SAndroid Build Coastguard Workerandroid_display = ["devices/android_display"]
235*bb4ee6a4SAndroid Build Coastguard Worker
236*bb4ee6a4SAndroid Build Coastguard Worker# Stub implementation of the Android display backend. This is only used for building and testing the
237*bb4ee6a4SAndroid Build Coastguard Worker# Android display backend on a non-Android target
238*bb4ee6a4SAndroid Build Coastguard Workerandroid_display_stub = ["devices/android_display_stub"]
239*bb4ee6a4SAndroid Build Coastguard Worker
240*bb4ee6a4SAndroid Build Coastguard Worker#! ### Video features
241*bb4ee6a4SAndroid Build Coastguard Worker#!
242*bb4ee6a4SAndroid Build Coastguard Worker#! See [Video Device](https://crosvm.dev/book/devices/video.html) for more information.
243*bb4ee6a4SAndroid Build Coastguard Worker
244*bb4ee6a4SAndroid Build Coastguard Worker## Enables the video decoding device
245*bb4ee6a4SAndroid Build Coastguard Workervideo-decoder = ["devices/video-decoder"]
246*bb4ee6a4SAndroid Build Coastguard Worker
247*bb4ee6a4SAndroid Build Coastguard Worker## Enables the video encoding device
248*bb4ee6a4SAndroid Build Coastguard Workervideo-encoder = ["devices/video-encoder"]
249*bb4ee6a4SAndroid Build Coastguard Worker
250*bb4ee6a4SAndroid Build Coastguard Worker## Enables the ffmpeg backend of video devices.
251*bb4ee6a4SAndroid Build Coastguard Workerffmpeg = ["devices/ffmpeg"]
252*bb4ee6a4SAndroid Build Coastguard Worker
253*bb4ee6a4SAndroid Build Coastguard Worker# Enables the VAAPI backend of video devices.
254*bb4ee6a4SAndroid Build Coastguard Workervaapi = ["devices/vaapi"]
255*bb4ee6a4SAndroid Build Coastguard Worker
256*bb4ee6a4SAndroid Build Coastguard Worker## Enables the virtio-media device.
257*bb4ee6a4SAndroid Build Coastguard Workermedia = ["devices/media"]
258*bb4ee6a4SAndroid Build Coastguard Worker
259*bb4ee6a4SAndroid Build Coastguard Worker#! ### Linux-specific feature flags
260*bb4ee6a4SAndroid Build Coastguard Worker
261*bb4ee6a4SAndroid Build Coastguard Worker## Enables the use of the GenieZone hypervisor
262*bb4ee6a4SAndroid Build Coastguard Workergeniezone = ["devices/geniezone", "hypervisor/geniezone"]
263*bb4ee6a4SAndroid Build Coastguard Worker
264*bb4ee6a4SAndroid Build Coastguard Worker## Enables the use of the Gunyah hypervisor
265*bb4ee6a4SAndroid Build Coastguard Workergunyah = ["devices/gunyah", "hypervisor/gunyah"]
266*bb4ee6a4SAndroid Build Coastguard Worker
267*bb4ee6a4SAndroid Build Coastguard Worker## Enables the Linux trace_marker backend for cros_tracing. This backend is only
268*bb4ee6a4SAndroid Build Coastguard Worker## supported on Linux systems. It sends all cros_tracing tracepoints to the tracefs
269*bb4ee6a4SAndroid Build Coastguard Worker## filesystem if mounted, for easier debugging with tools like trace-cmd.
270*bb4ee6a4SAndroid Build Coastguard Workertrace_marker = ["cros_tracing/trace_marker"]
271*bb4ee6a4SAndroid Build Coastguard Worker
272*bb4ee6a4SAndroid Build Coastguard Worker## Facilitate tracing all syscalls by sandboxed processes.
273*bb4ee6a4SAndroid Build Coastguard Workerseccomp_trace = ["jail/seccomp_trace","base/seccomp_trace","devices/seccomp_trace"]
274*bb4ee6a4SAndroid Build Coastguard Worker
275*bb4ee6a4SAndroid Build Coastguard Worker## Enables virtio-gpu devices to request a non-coherent memory mapping from the
276*bb4ee6a4SAndroid Build Coastguard Worker## hypervisor. Currently only supported in KVM on x86 and requires kernel
277*bb4ee6a4SAndroid Build Coastguard Worker## patches from:
278*bb4ee6a4SAndroid Build Coastguard Worker## <https://lore.kernel.org/all/[email protected]/>
279*bb4ee6a4SAndroid Build Coastguard Workernoncoherent-dma = ["devices/noncoherent-dma", "hypervisor/noncoherent-dma"]
280*bb4ee6a4SAndroid Build Coastguard Worker
281*bb4ee6a4SAndroid Build Coastguard Worker#! ### Windows-specific feature flags
282*bb4ee6a4SAndroid Build Coastguard Worker#!
283*bb4ee6a4SAndroid Build Coastguard Worker#! These feature flags are only available on Windows builds of crosvm.
284*bb4ee6a4SAndroid Build Coastguard Worker
285*bb4ee6a4SAndroid Build Coastguard Worker## Enables the use of the HAXM hypervisor
286*bb4ee6a4SAndroid Build Coastguard Workerhaxm = ["hypervisor/haxm"]
287*bb4ee6a4SAndroid Build Coastguard Worker
288*bb4ee6a4SAndroid Build Coastguard Worker## Enables the use of the WHPX hypervisor
289*bb4ee6a4SAndroid Build Coastguard Workerwhpx = ["devices/whpx", "hypervisor/whpx"]
290*bb4ee6a4SAndroid Build Coastguard Worker
291*bb4ee6a4SAndroid Build Coastguard Worker## Enables a libslirp based network device. Currently only supported on Windows.
292*bb4ee6a4SAndroid Build Coastguard Workerslirp = ["devices/slirp", "net_util/slirp"]
293*bb4ee6a4SAndroid Build Coastguard Worker
294*bb4ee6a4SAndroid Build Coastguard Worker## Enables slirp debugging.
295*bb4ee6a4SAndroid Build Coastguard Workerslirp-debug = ["net_util/slirp-debug"]
296*bb4ee6a4SAndroid Build Coastguard Worker
297*bb4ee6a4SAndroid Build Coastguard Worker## Enables slirp capture.
298*bb4ee6a4SAndroid Build Coastguard Workerslirp-ring-capture = [
299*bb4ee6a4SAndroid Build Coastguard Worker    "net_util/slirp-ring-capture",
300*bb4ee6a4SAndroid Build Coastguard Worker    "devices/slirp-ring-capture",
301*bb4ee6a4SAndroid Build Coastguard Worker]
302*bb4ee6a4SAndroid Build Coastguard Worker
303*bb4ee6a4SAndroid Build Coastguard Worker#! ### Non-additive feature flags
304*bb4ee6a4SAndroid Build Coastguard Worker#!
305*bb4ee6a4SAndroid Build Coastguard Worker#! These feature flags change the behavior of crosvm instead of adding functionality.
306*bb4ee6a4SAndroid Build Coastguard Worker#! This is deprecated and will be phased out.
307*bb4ee6a4SAndroid Build Coastguard Worker
308*bb4ee6a4SAndroid Build Coastguard Worker## Run crosvm with `--disable-sandbox` by default.
309*bb4ee6a4SAndroid Build Coastguard Workerdefault-no-sandbox = []
310*bb4ee6a4SAndroid Build Coastguard Worker
311*bb4ee6a4SAndroid Build Coastguard Worker#! ### Project specific features
312*bb4ee6a4SAndroid Build Coastguard Worker#!
313*bb4ee6a4SAndroid Build Coastguard Worker#! These features are specific to downstream projects and may not be functional or useful
314*bb4ee6a4SAndroid Build Coastguard Worker#! for standard linux builds of crosvm.
315*bb4ee6a4SAndroid Build Coastguard Worker#! They are however enabled in upstream builds for compile and test coverage in CI.
316*bb4ee6a4SAndroid Build Coastguard Worker
317*bb4ee6a4SAndroid Build Coastguard Worker#! #### ChromeOS
318*bb4ee6a4SAndroid Build Coastguard Worker#!
319*bb4ee6a4SAndroid Build Coastguard Worker#! These features will only be functional in ChromeOS builds running on ChromeOS.
320*bb4ee6a4SAndroid Build Coastguard Worker
321*bb4ee6a4SAndroid Build Coastguard Worker## Enables ARCVM specified virtio-fs feature including:
322*bb4ee6a4SAndroid Build Coastguard Worker## - Support quota reporting for ARCVM
323*bb4ee6a4SAndroid Build Coastguard Worker##   Requires access to the org.chromium.ArcQuota dbus service.
324*bb4ee6a4SAndroid Build Coastguard Worker## - Support for FS_IOC_SETPERMISSION ioctl
325*bb4ee6a4SAndroid Build Coastguard Worker## - Support for FS_IOC_SETPATHXATTR ioctl
326*bb4ee6a4SAndroid Build Coastguard Workerarc_quota = ["devices/arc_quota"]
327*bb4ee6a4SAndroid Build Coastguard Worker
328*bb4ee6a4SAndroid Build Coastguard Worker## Enables use of Android AAudio virtio-snd backend.
329*bb4ee6a4SAndroid Build Coastguard Workeraudio_aaudio = ["devices/audio_aaudio"]
330*bb4ee6a4SAndroid Build Coastguard Worker
331*bb4ee6a4SAndroid Build Coastguard Worker## Stub implementation of Android AAudio NDK library. This is only used for building and testing the
332*bb4ee6a4SAndroid Build Coastguard Worker## Android audio on a non-Android target
333*bb4ee6a4SAndroid Build Coastguard Workerlibaaudio_stub = ["android_audio/libaaudio_stub"]
334*bb4ee6a4SAndroid Build Coastguard Worker
335*bb4ee6a4SAndroid Build Coastguard Worker## Enables use of the ChromeOS audio server. ChromeOS builds will replace libcras_stub with an
336*bb4ee6a4SAndroid Build Coastguard Worker## implementation that talks to the audio server. In upstream builds, using this option will panic.
337*bb4ee6a4SAndroid Build Coastguard Workeraudio_cras = ["devices/audio_cras"]
338*bb4ee6a4SAndroid Build Coastguard Worker
339*bb4ee6a4SAndroid Build Coastguard Worker## Enables the VDA backend of the video devices. This feature requires the ChromeOS only
340*bb4ee6a4SAndroid Build Coastguard Worker## libvda library and can be compiled but not linked. See b/244619291.
341*bb4ee6a4SAndroid Build Coastguard Workerlibvda = ["devices/libvda"]
342*bb4ee6a4SAndroid Build Coastguard Worker
343*bb4ee6a4SAndroid Build Coastguard Worker## Builds the VDA video backend with a set of no-ops stubs instead of linking with libvda, which is
344*bb4ee6a4SAndroid Build Coastguard Worker## only available on ChromeOS.
345*bb4ee6a4SAndroid Build Coastguard Workerlibvda-stub = ["devices/libvda-stub"]
346*bb4ee6a4SAndroid Build Coastguard Worker
347*bb4ee6a4SAndroid Build Coastguard Worker## Enables the crosvm plugin API where functionality is provided via a FFI plugin API.
348*bb4ee6a4SAndroid Build Coastguard Worker## This feature is used to integrate Parallels with crosvm and is not functional upstream.
349*bb4ee6a4SAndroid Build Coastguard Workerplugin = ["protos/plugin", "crosvm_plugin", "kvm", "kvm_sys", "protobuf"]
350*bb4ee6a4SAndroid Build Coastguard Worker
351*bb4ee6a4SAndroid Build Coastguard Worker## Enables battery reporting via the ChromeOS powerd. Requires access to the
352*bb4ee6a4SAndroid Build Coastguard Worker## `org.chromium.PowerManager` dbus service.
353*bb4ee6a4SAndroid Build Coastguard Workerpower-monitor-powerd = ["arch/power-monitor-powerd"]
354*bb4ee6a4SAndroid Build Coastguard Worker
355*bb4ee6a4SAndroid Build Coastguard Worker## Enables a virtualized TPM device that uses the `org.chromium.Vtpm` dbus service.
356*bb4ee6a4SAndroid Build Coastguard Workervtpm = ["devices/vtpm"]
357*bb4ee6a4SAndroid Build Coastguard Worker
358*bb4ee6a4SAndroid Build Coastguard Worker#! #### Windows-future
359*bb4ee6a4SAndroid Build Coastguard Worker#!
360*bb4ee6a4SAndroid Build Coastguard Worker#! These features will only be functional in future builds of windows crosvm.
361*bb4ee6a4SAndroid Build Coastguard Worker
362*bb4ee6a4SAndroid Build Coastguard Worker## Enables reporting of crosvm crashes
363*bb4ee6a4SAndroid Build Coastguard Workercrash-report = ["broker_ipc/crash-report", "crash_report"]
364*bb4ee6a4SAndroid Build Coastguard Worker
365*bb4ee6a4SAndroid Build Coastguard Workergvm = []
366*bb4ee6a4SAndroid Build Coastguard Workerperfetto = []
367*bb4ee6a4SAndroid Build Coastguard Workerprocess-invariants = []
368*bb4ee6a4SAndroid Build Coastguard Workerprod-build = []
369*bb4ee6a4SAndroid Build Coastguard Workersandbox = []
370*bb4ee6a4SAndroid Build Coastguard Worker
371*bb4ee6a4SAndroid Build Coastguard Worker#! ### Platform Feature Sets
372*bb4ee6a4SAndroid Build Coastguard Worker#!
373*bb4ee6a4SAndroid Build Coastguard Worker#! These feature flags enable all features that are supported for a given platform.
374*bb4ee6a4SAndroid Build Coastguard Worker#! Note that these may include project specific features that will not be functional at runtime but
375*bb4ee6a4SAndroid Build Coastguard Worker#! are enabled for compile and test coverage.
376*bb4ee6a4SAndroid Build Coastguard Worker
377*bb4ee6a4SAndroid Build Coastguard Worker## All features that are compiled and tested for aarch64 and x86_64
378*bb4ee6a4SAndroid Build Coastguard Workerall-default = [
379*bb4ee6a4SAndroid Build Coastguard Worker    "android-sparse",
380*bb4ee6a4SAndroid Build Coastguard Worker    "arc_quota",
381*bb4ee6a4SAndroid Build Coastguard Worker    "audio_cras",
382*bb4ee6a4SAndroid Build Coastguard Worker    "composite-disk",
383*bb4ee6a4SAndroid Build Coastguard Worker    "crash-report",
384*bb4ee6a4SAndroid Build Coastguard Worker    "default",
385*bb4ee6a4SAndroid Build Coastguard Worker    "ffmpeg",
386*bb4ee6a4SAndroid Build Coastguard Worker    "fs_runtime_ugid_map",
387*bb4ee6a4SAndroid Build Coastguard Worker    "gdb",
388*bb4ee6a4SAndroid Build Coastguard Worker    "geniezone",
389*bb4ee6a4SAndroid Build Coastguard Worker    "gfxstream",
390*bb4ee6a4SAndroid Build Coastguard Worker    "gfxstream_stub",
391*bb4ee6a4SAndroid Build Coastguard Worker    "libvda-stub",
392*bb4ee6a4SAndroid Build Coastguard Worker    "media",
393*bb4ee6a4SAndroid Build Coastguard Worker    "net",
394*bb4ee6a4SAndroid Build Coastguard Worker    "noncoherent-dma",
395*bb4ee6a4SAndroid Build Coastguard Worker    "pci-hotplug",
396*bb4ee6a4SAndroid Build Coastguard Worker    "power-monitor-powerd",
397*bb4ee6a4SAndroid Build Coastguard Worker    "pvclock",
398*bb4ee6a4SAndroid Build Coastguard Worker    "registered_events",
399*bb4ee6a4SAndroid Build Coastguard Worker    "slirp",
400*bb4ee6a4SAndroid Build Coastguard Worker    "swap",
401*bb4ee6a4SAndroid Build Coastguard Worker    "tokio",
402*bb4ee6a4SAndroid Build Coastguard Worker    "trace_marker",
403*bb4ee6a4SAndroid Build Coastguard Worker    "vaapi",
404*bb4ee6a4SAndroid Build Coastguard Worker    "video-decoder",
405*bb4ee6a4SAndroid Build Coastguard Worker    "video-encoder",
406*bb4ee6a4SAndroid Build Coastguard Worker    "virgl_renderer",
407*bb4ee6a4SAndroid Build Coastguard Worker    "vtpm",
408*bb4ee6a4SAndroid Build Coastguard Worker    "wl-dmabuf",
409*bb4ee6a4SAndroid Build Coastguard Worker    "x",
410*bb4ee6a4SAndroid Build Coastguard Worker    "zstd-disk"
411*bb4ee6a4SAndroid Build Coastguard Worker]
412*bb4ee6a4SAndroid Build Coastguard Worker
413*bb4ee6a4SAndroid Build Coastguard Worker## All features that are compiled and tested for aarch64
414*bb4ee6a4SAndroid Build Coastguard Workerall-aarch64 = [
415*bb4ee6a4SAndroid Build Coastguard Worker    "audio_aaudio",
416*bb4ee6a4SAndroid Build Coastguard Worker    "all-default",
417*bb4ee6a4SAndroid Build Coastguard Worker    "android_display",
418*bb4ee6a4SAndroid Build Coastguard Worker    "android_display_stub",
419*bb4ee6a4SAndroid Build Coastguard Worker    "gunyah",
420*bb4ee6a4SAndroid Build Coastguard Worker    "libaaudio_stub",
421*bb4ee6a4SAndroid Build Coastguard Worker]
422*bb4ee6a4SAndroid Build Coastguard Worker
423*bb4ee6a4SAndroid Build Coastguard Worker## All features that are compiled and tested for riscv64
424*bb4ee6a4SAndroid Build Coastguard Workerall-riscv64 = [
425*bb4ee6a4SAndroid Build Coastguard Worker    "gdb",
426*bb4ee6a4SAndroid Build Coastguard Worker]
427*bb4ee6a4SAndroid Build Coastguard Worker
428*bb4ee6a4SAndroid Build Coastguard Worker## All features that are compiled and tested for x86_64
429*bb4ee6a4SAndroid Build Coastguard Workerall-x86_64 = [
430*bb4ee6a4SAndroid Build Coastguard Worker    "audio_aaudio",
431*bb4ee6a4SAndroid Build Coastguard Worker    "all-default",
432*bb4ee6a4SAndroid Build Coastguard Worker    "android_display",
433*bb4ee6a4SAndroid Build Coastguard Worker    "android_display_stub",
434*bb4ee6a4SAndroid Build Coastguard Worker    "libaaudio_stub",
435*bb4ee6a4SAndroid Build Coastguard Worker    "plugin",
436*bb4ee6a4SAndroid Build Coastguard Worker    "scudo"
437*bb4ee6a4SAndroid Build Coastguard Worker]
438*bb4ee6a4SAndroid Build Coastguard Worker
439*bb4ee6a4SAndroid Build Coastguard Worker## All features that are compiled and tested for armhf
440*bb4ee6a4SAndroid Build Coastguard Worker## Note: This platform is deprecated and will be phased out.
441*bb4ee6a4SAndroid Build Coastguard Workerall-armhf = [
442*bb4ee6a4SAndroid Build Coastguard Worker    "android-sparse",
443*bb4ee6a4SAndroid Build Coastguard Worker    "composite-disk",
444*bb4ee6a4SAndroid Build Coastguard Worker    "default",
445*bb4ee6a4SAndroid Build Coastguard Worker    "gdb",
446*bb4ee6a4SAndroid Build Coastguard Worker    "libvda-stub",
447*bb4ee6a4SAndroid Build Coastguard Worker    "net",
448*bb4ee6a4SAndroid Build Coastguard Worker]
449*bb4ee6a4SAndroid Build Coastguard Worker
450*bb4ee6a4SAndroid Build Coastguard Worker## All features that are compiled and tested for mingw64
451*bb4ee6a4SAndroid Build Coastguard Workerall-mingw64 = [
452*bb4ee6a4SAndroid Build Coastguard Worker    "android-sparse",
453*bb4ee6a4SAndroid Build Coastguard Worker    "audio",
454*bb4ee6a4SAndroid Build Coastguard Worker    "balloon",
455*bb4ee6a4SAndroid Build Coastguard Worker    "crash_report",
456*bb4ee6a4SAndroid Build Coastguard Worker    "gpu",
457*bb4ee6a4SAndroid Build Coastguard Worker    "haxm",
458*bb4ee6a4SAndroid Build Coastguard Worker    "net",
459*bb4ee6a4SAndroid Build Coastguard Worker    "slirp",
460*bb4ee6a4SAndroid Build Coastguard Worker    "slirp-debug",
461*bb4ee6a4SAndroid Build Coastguard Worker    "stats",
462*bb4ee6a4SAndroid Build Coastguard Worker    "vulkan_display",
463*bb4ee6a4SAndroid Build Coastguard Worker    "pvclock",
464*bb4ee6a4SAndroid Build Coastguard Worker]
465*bb4ee6a4SAndroid Build Coastguard Worker
466*bb4ee6a4SAndroid Build Coastguard Worker## All features that are compiled and tested for msvc64
467*bb4ee6a4SAndroid Build Coastguard Workerall-msvc64 = [ "all-mingw64" ]
468*bb4ee6a4SAndroid Build Coastguard Worker
469*bb4ee6a4SAndroid Build Coastguard Worker## All features that are compiled and tested for android builds
470*bb4ee6a4SAndroid Build Coastguard Workerall-android = [
471*bb4ee6a4SAndroid Build Coastguard Worker    "android-sparse",
472*bb4ee6a4SAndroid Build Coastguard Worker    "audio",
473*bb4ee6a4SAndroid Build Coastguard Worker    "audio_aaudio",
474*bb4ee6a4SAndroid Build Coastguard Worker    "balloon",
475*bb4ee6a4SAndroid Build Coastguard Worker    "composite-disk",
476*bb4ee6a4SAndroid Build Coastguard Worker    "config-file",
477*bb4ee6a4SAndroid Build Coastguard Worker    "fs_runtime_ugid_map",
478*bb4ee6a4SAndroid Build Coastguard Worker    "gdb",
479*bb4ee6a4SAndroid Build Coastguard Worker    "gdbstub",
480*bb4ee6a4SAndroid Build Coastguard Worker    "gdbstub_arch",
481*bb4ee6a4SAndroid Build Coastguard Worker    "geniezone",
482*bb4ee6a4SAndroid Build Coastguard Worker    "gunyah",
483*bb4ee6a4SAndroid Build Coastguard Worker    "libaaudio_stub",
484*bb4ee6a4SAndroid Build Coastguard Worker    "net",
485*bb4ee6a4SAndroid Build Coastguard Worker    "qcow",
486*bb4ee6a4SAndroid Build Coastguard Worker    "usb",
487*bb4ee6a4SAndroid Build Coastguard Worker]
488*bb4ee6a4SAndroid Build Coastguard Worker
489*bb4ee6a4SAndroid Build Coastguard Worker[dependencies]
490*bb4ee6a4SAndroid Build Coastguard Workeranyhow = "1.0.32"
491*bb4ee6a4SAndroid Build Coastguard Workerarch = { path = "arch" }
492*bb4ee6a4SAndroid Build Coastguard Workerargh = "0.1.10"
493*bb4ee6a4SAndroid Build Coastguard Workerargh_helpers = { path = "argh_helpers" }
494*bb4ee6a4SAndroid Build Coastguard Workeraudio_streams = "*"
495*bb4ee6a4SAndroid Build Coastguard Workerbase = { path = "base" }
496*bb4ee6a4SAndroid Build Coastguard Workerbit_field = { path = "bit_field" }
497*bb4ee6a4SAndroid Build Coastguard Workerbroker_ipc = { path = "broker_ipc" }
498*bb4ee6a4SAndroid Build Coastguard Workercfg-if = "1.0.0"
499*bb4ee6a4SAndroid Build Coastguard Workercrash_report = { path = "vendor/generic/crash_report", optional = true }
500*bb4ee6a4SAndroid Build Coastguard Workercros_async = { path = "cros_async" }
501*bb4ee6a4SAndroid Build Coastguard Workercros_tracing = { path = "cros_tracing" }
502*bb4ee6a4SAndroid Build Coastguard Workercrosvm_cli = { path = "crosvm_cli" }
503*bb4ee6a4SAndroid Build Coastguard Workercrosvm_plugin = { path = "crosvm_plugin", optional = true }
504*bb4ee6a4SAndroid Build Coastguard Workerdevices = { path = "devices" }
505*bb4ee6a4SAndroid Build Coastguard Workerdisk = { path = "disk" }
506*bb4ee6a4SAndroid Build Coastguard Workerdocument-features = { version = "0.2", optional = true }
507*bb4ee6a4SAndroid Build Coastguard Workerenumn = "0.1.0"
508*bb4ee6a4SAndroid Build Coastguard Workerext2 = { path = "ext2" }
509*bb4ee6a4SAndroid Build Coastguard Workergdbstub = { version = "0.7.0", optional = true }
510*bb4ee6a4SAndroid Build Coastguard Workergdbstub_arch = { version = "0.3.0", optional = true }
511*bb4ee6a4SAndroid Build Coastguard Workerrutabaga_gfx = { path = "rutabaga_gfx"}
512*bb4ee6a4SAndroid Build Coastguard Workerhypervisor = { path = "hypervisor" }
513*bb4ee6a4SAndroid Build Coastguard Workerjail = { path = "jail" }
514*bb4ee6a4SAndroid Build Coastguard Workerkernel_cmdline = { path = "kernel_cmdline" }
515*bb4ee6a4SAndroid Build Coastguard Workerkernel_loader = { path = "kernel_loader" }
516*bb4ee6a4SAndroid Build Coastguard Workerkvm = { path = "kvm", optional = true }
517*bb4ee6a4SAndroid Build Coastguard Workerkvm_sys = { path = "kvm_sys", optional = true }
518*bb4ee6a4SAndroid Build Coastguard Workerlibc = "0.2.153"
519*bb4ee6a4SAndroid Build Coastguard Workerlibcras = "*"
520*bb4ee6a4SAndroid Build Coastguard Worker# Compile out trace statements in release builds
521*bb4ee6a4SAndroid Build Coastguard Workerlog = { version = "0", features = ["release_max_level_debug"]}
522*bb4ee6a4SAndroid Build Coastguard Workermerge = "0.1.0"
523*bb4ee6a4SAndroid Build Coastguard Workermetrics = { path = "metrics" }
524*bb4ee6a4SAndroid Build Coastguard Workermetrics_events = { path = "metrics_events" }
525*bb4ee6a4SAndroid Build Coastguard Workernet_util = { path = "net_util" }
526*bb4ee6a4SAndroid Build Coastguard Workeronce_cell = "1.7"
527*bb4ee6a4SAndroid Build Coastguard Workerprotobuf = { version = "3.2", optional = true }
528*bb4ee6a4SAndroid Build Coastguard Workerprotos = { path = "protos", optional = true }
529*bb4ee6a4SAndroid Build Coastguard Workerremain = "0.2"
530*bb4ee6a4SAndroid Build Coastguard Workerresources = { path = "resources" }
531*bb4ee6a4SAndroid Build Coastguard Workerscudo = { version = "0.1", optional = true }
532*bb4ee6a4SAndroid Build Coastguard Workerserde = { version = "1", features = ["rc"] }
533*bb4ee6a4SAndroid Build Coastguard Workerserde_json = "1"
534*bb4ee6a4SAndroid Build Coastguard Workerserde_keyvalue = { path = "serde_keyvalue", features = ["argh_derive"] }
535*bb4ee6a4SAndroid Build Coastguard Workersmallvec = "1.6.1"
536*bb4ee6a4SAndroid Build Coastguard Workerstatic_assertions = "1.1"
537*bb4ee6a4SAndroid Build Coastguard Workerswap = { path = "swap" }
538*bb4ee6a4SAndroid Build Coastguard Workersync = { path = "common/sync" }
539*bb4ee6a4SAndroid Build Coastguard Workerthiserror = { version = "1.0.20" }
540*bb4ee6a4SAndroid Build Coastguard Workervm_control = { path = "vm_control" }
541*bb4ee6a4SAndroid Build Coastguard Workeracpi_tables = { path = "acpi_tables" }
542*bb4ee6a4SAndroid Build Coastguard Workervm_memory = { path = "vm_memory" }
543*bb4ee6a4SAndroid Build Coastguard Workervmm_vhost = { path = "third_party/vmm_vhost" }
544*bb4ee6a4SAndroid Build Coastguard Workeruuid = { version = "1", features = ["v4"] }
545*bb4ee6a4SAndroid Build Coastguard Workerzerocopy = { version = "0.7", features = ["derive"] }
546*bb4ee6a4SAndroid Build Coastguard Worker
547*bb4ee6a4SAndroid Build Coastguard Worker[target.'cfg(target_arch = "riscv64")'.dependencies]
548*bb4ee6a4SAndroid Build Coastguard Workerriscv64 = { path = "riscv64" }
549*bb4ee6a4SAndroid Build Coastguard Worker
550*bb4ee6a4SAndroid Build Coastguard Worker[target.'cfg(target_arch = "x86_64")'.dependencies]
551*bb4ee6a4SAndroid Build Coastguard Workerx86_64 = { path = "x86_64" }
552*bb4ee6a4SAndroid Build Coastguard Worker
553*bb4ee6a4SAndroid Build Coastguard Worker[target.'cfg(any(target_arch = "aarch64", target_arch = "arm"))'.dependencies]
554*bb4ee6a4SAndroid Build Coastguard Workeraarch64 = { path = "aarch64" }
555*bb4ee6a4SAndroid Build Coastguard Worker
556*bb4ee6a4SAndroid Build Coastguard Worker[target.'cfg(any(target_os = "android", target_os = "linux"))'.dependencies]
557*bb4ee6a4SAndroid Build Coastguard Workerminijail = "*" # provided by ebuild
558*bb4ee6a4SAndroid Build Coastguard Workerp9 = "0.2.3"
559*bb4ee6a4SAndroid Build Coastguard Workervhost = { path = "vhost" }
560*bb4ee6a4SAndroid Build Coastguard Workerandroid_audio = { path = "android_audio"}
561*bb4ee6a4SAndroid Build Coastguard Worker
562*bb4ee6a4SAndroid Build Coastguard Worker[target.'cfg(windows)'.dependencies]
563*bb4ee6a4SAndroid Build Coastguard Workeranti_tamper = { path = "vendor/generic/anti_tamper" }
564*bb4ee6a4SAndroid Build Coastguard Workercros_async = { path = "cros_async" }
565*bb4ee6a4SAndroid Build Coastguard Workerctrlc = "3"
566*bb4ee6a4SAndroid Build Coastguard Workerfutures = "0.3"
567*bb4ee6a4SAndroid Build Coastguard Workergpu_display = { path = "gpu_display", optional = true }
568*bb4ee6a4SAndroid Build Coastguard Workerrand = "0.8"
569*bb4ee6a4SAndroid Build Coastguard Workersandbox = { path = "sandbox" }
570*bb4ee6a4SAndroid Build Coastguard Workercros_tracing = { path = "cros_tracing" }
571*bb4ee6a4SAndroid Build Coastguard Workertube_transporter = { path = "tube_transporter" }
572*bb4ee6a4SAndroid Build Coastguard Workerwinapi = "0.3"
573*bb4ee6a4SAndroid Build Coastguard Workerwin_audio = { path = "win_audio" }
574*bb4ee6a4SAndroid Build Coastguard Workerwin_util = { path = "win_util" }
575*bb4ee6a4SAndroid Build Coastguard Worker
576*bb4ee6a4SAndroid Build Coastguard Worker[dev-dependencies]
577*bb4ee6a4SAndroid Build Coastguard Workerrand = "0.8"
578*bb4ee6a4SAndroid Build Coastguard Workertempfile = "3"
579*bb4ee6a4SAndroid Build Coastguard Worker
580*bb4ee6a4SAndroid Build Coastguard Worker[patch.crates-io]
581*bb4ee6a4SAndroid Build Coastguard Workeraudio_streams = { path = "common/audio_streams" }
582*bb4ee6a4SAndroid Build Coastguard Workercros_async = { path = "cros_async" }
583*bb4ee6a4SAndroid Build Coastguard Workerdata_model = { path = "common/data_model" }
584*bb4ee6a4SAndroid Build Coastguard Workerlibcras = { path = "libcras_stub" } # ignored by ebuild
585*bb4ee6a4SAndroid Build Coastguard Workersync = { path = "common/sync" }
586*bb4ee6a4SAndroid Build Coastguard Workerminijail = { path = "third_party/minijail/rust/minijail" } # ignored by ebuild
587