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