blob: be8e5e46780bc3a4c844bf5a5ecda7e479eea96b [file] [log] [blame]
Zach Reizner639d9672017-05-01 17:57:18 -07001[package]
2name = "crosvm"
3version = "0.1.0"
4authors = ["The Chromium OS Authors"]
David Tolnay0159e5a2019-03-12 20:52:19 -07005edition = "2018"
Zach Reizner639d9672017-05-01 17:57:18 -07006
Zach Reizner267f2c82019-07-31 17:07:27 -07007[lib]
8path = "src/crosvm.rs"
9
10[[bin]]
11name = "crosvm"
12path = "src/main.rs"
13
Zach Reizner639d9672017-05-01 17:57:18 -070014[profile.release]
Zach Reizner639d9672017-05-01 17:57:18 -070015panic = 'abort'
Zach Reiznerf6b58e42018-10-15 15:40:09 -070016overflow-checks = true
Zach Reizner639d9672017-05-01 17:57:18 -070017
Dylan Reid939d5882017-11-08 17:33:46 -080018[workspace]
paulhsiab6d842f2019-01-18 20:00:36 +080019members = ["qcow_utils"]
paulhsiad1eceec2018-12-20 15:44:11 +080020exclude = [
21 "assertions",
Steven Richmanf32d0b42020-06-20 21:45:32 -070022 "base",
Dylan Reid2cc13832019-11-22 16:41:01 -080023 "cros_async",
paulhsiad1eceec2018-12-20 15:44:11 +080024 "data_model",
David Tolnay48ff4162019-04-06 14:30:04 -070025 "rand_ish",
paulhsiad1eceec2018-12-20 15:44:11 +080026 "sync",
27 "sys_util",
28 "syscall_defines",
David Tolnayfd67ec52019-04-10 17:59:15 -070029 "tempfile",
Dylan Reidec058d62020-07-20 20:21:11 -070030 "vm_memory",
paulhsiad1eceec2018-12-20 15:44:11 +080031]
Dylan Reid939d5882017-11-08 17:33:46 -080032
Zach Reiznere0983c72018-01-16 17:35:27 -080033[features]
Gurchetan Singh028b8042020-12-14 15:20:45 -080034default = ["audio", "gpu"]
Michael Hoyle6b196952020-08-02 20:09:41 -070035chromeos = ["base/chromeos"]
Dmitry Torokhov5e05a832018-05-10 10:25:58 -070036default-no-sandbox = []
Andrew Scull1590e6f2020-03-18 18:00:47 +000037audio = ["devices/audio"]
Zach Reizner3a8100a2017-09-13 19:15:43 -070038gpu = ["devices/gpu"]
Steven Richmanf32d0b42020-06-20 21:45:32 -070039plugin = ["protos/plugin", "crosvm_plugin", "kvm", "kvm_sys", "protobuf"]
Alex Lau0d6ae7a2020-11-10 18:24:04 +090040power-monitor-powerd = ["arch/power-monitor-powerd"]
David Tolnay48ff4162019-04-06 14:30:04 -070041tpm = ["devices/tpm"]
Keiichi Watanabe57df6a02019-12-06 22:24:40 +090042video-decoder = ["devices/video-decoder"]
43video-encoder = ["devices/video-encoder"]
David Tolnay48ff4162019-04-06 14:30:04 -070044wl-dmabuf = ["devices/wl-dmabuf", "gpu_buffer", "resources/wl-dmabuf"]
Zach Reiznerf5285c62019-04-16 15:09:20 -070045x = ["devices/x"]
Gurchetan Singh028b8042020-12-14 15:20:45 -080046virgl_renderer_next = ["rutabaga_gfx/virgl_renderer_next"]
Cody Schuffelenf9b035d2019-07-08 16:14:24 -070047composite-disk = ["protos/composite-disk", "protobuf", "disk/composite-disk"]
Gurchetan Singh028b8042020-12-14 15:20:45 -080048virgl_renderer = ["devices/virgl_renderer"]
Lingfeng Yangddbe8b72020-01-30 10:00:36 -080049gfxstream = ["devices/gfxstream"]
Keiichi Watanabec5262e92020-10-21 15:57:33 +090050gdb = ["gdbstub", "thiserror", "arch/gdb", "vm_control/gdb", "x86_64/gdb"]
Zach Reiznere0983c72018-01-16 17:35:27 -080051
Zach Reizner639d9672017-05-01 17:57:18 -070052[dependencies]
Sonny Raoed517d12018-02-13 22:09:43 -080053arch = { path = "arch" }
David Tolnay4b292af2019-04-12 16:57:48 -070054assertions = { path = "assertions" }
Dylan Reid3082e8e2019-01-07 10:33:48 -080055audio_streams = "*"
Michael Hoyle6b196952020-08-02 20:09:41 -070056base = "*"
Jingkui Wang8cad7512018-05-22 11:22:13 -070057bit_field = { path = "bit_field" }
David Tolnay48ff4162019-04-06 14:30:04 -070058crosvm_plugin = { path = "crosvm_plugin", optional = true }
59data_model = "*"
Dylan Reidd169a8d2017-10-06 15:26:46 -070060devices = { path = "devices" }
Cody Schuffelen7d533e52019-07-02 16:54:05 -070061disk = { path = "disk" }
Miriam Zimmerman16f659f2019-01-15 16:23:48 -080062enumn = { path = "enumn" }
Keiichi Watanabec5262e92020-10-21 15:57:33 +090063gdbstub = { version = "0.4.0", optional = true }
Zach Reizner6f685432018-04-25 17:49:56 -070064gpu_buffer = { path = "gpu_buffer", optional = true }
Gurchetan Singhb1394f72020-10-19 18:31:13 -070065rutabaga_gfx = { path = "rutabaga_gfx", optional = true }
Steven Richmanf32d0b42020-06-20 21:45:32 -070066hypervisor = { path = "hypervisor" }
Sonny Rao6cc352f2018-02-01 17:49:01 -080067kernel_cmdline = { path = "kernel_cmdline" }
Zach Reizner639d9672017-05-01 17:57:18 -070068kernel_loader = { path = "kernel_loader" }
Steven Richmanf32d0b42020-06-20 21:45:32 -070069kvm = { path = "kvm", optional = true }
70kvm_sys = { path = "kvm_sys", optional = true }
Daniel Verkamp708e3a62020-06-22 14:49:25 -070071libc = "0.2.65"
paulhsiaf052cfe2019-01-22 15:22:25 +080072libcras = "*"
Allen Webbf3024c82020-06-19 07:19:48 -070073minijail = "*" # provided by ebuild
David Tolnay48ff4162019-04-06 14:30:04 -070074msg_socket = { path = "msg_socket" }
Jason D. Clinton865323d2017-09-27 22:04:03 -060075net_util = { path = "net_util" }
Chirantan Ekbote75ba8752020-10-27 18:33:02 +090076p9 = "*"
David Tolnayfd67ec52019-04-10 17:59:15 -070077protobuf = { version = "2.3", optional = true }
David Tolnay65928af2019-04-05 20:34:50 -070078protos = { path = "protos", optional = true }
Daniel Prilik22006042019-01-14 14:19:04 -080079rand_ish = { path = "rand_ish" }
David Tolnay3df35522019-03-11 12:36:30 -070080remain = "*"
David Tolnay48ff4162019-04-06 14:30:04 -070081resources = { path = "resources" }
82sync = { path = "sync" }
Michael Hoylea7e38ab2020-08-05 18:50:47 -070083tempfile = "*"
Keiichi Watanabec5262e92020-10-21 15:57:33 +090084thiserror = { version = "1.0.20", optional = true }
David Tolnay48ff4162019-04-06 14:30:04 -070085vhost = { path = "vhost" }
86vm_control = { path = "vm_control" }
Chuanxiao Dong91e84032019-11-01 15:18:13 +080087acpi_tables = { path = "acpi_tables" }
Dylan Reidec058d62020-07-20 20:21:11 -070088vm_memory = { path = "vm_memory" }
Zach Reizner639d9672017-05-01 17:57:18 -070089
Zach Reizner3cbded22017-08-30 17:07:01 -070090[target.'cfg(target_arch = "x86_64")'.dependencies]
91x86_64 = { path = "x86_64" }
Zach Reizner8864cb02018-01-16 17:59:03 -080092
Sonny Rao2ffa0cb2018-02-26 17:27:40 -080093[target.'cfg(any(target_arch = "aarch64", target_arch = "arm"))'.dependencies]
94aarch64 = { path = "aarch64" }
95
Zach Reizner8864cb02018-01-16 17:59:03 -080096[dev-dependencies]
Michael Hoyle6b196952020-08-02 20:09:41 -070097base = "*"
paulhsiad1eceec2018-12-20 15:44:11 +080098
99[patch.crates-io]
100assertions = { path = "assertions" }
Dylan Reidb58b5522018-12-06 19:47:18 +0000101audio_streams = { path = "../../third_party/adhd/audio_streams" } # ignored by ebuild
Michael Hoyle6b196952020-08-02 20:09:41 -0700102base = { path = "base" }
paulhsiad1eceec2018-12-20 15:44:11 +0800103data_model = { path = "data_model" }
paulhsiaf052cfe2019-01-22 15:22:25 +0800104libcras = { path = "../../third_party/adhd/cras/client/libcras" } # ignored by ebuild
Keiichi Watanabe57df6a02019-12-06 22:24:40 +0900105libvda = { path = "../../platform2/arc/vm/libvda/rust" } # ignored by ebuild
Allen Webbf3024c82020-06-19 07:19:48 -0700106minijail = { path = "../../aosp/external/minijail/rust/minijail" } # ignored by ebuild
Chirantan Ekboteb52768c2020-09-11 17:33:25 +0900107p9 = { path = "../../platform2/vm_tools/p9" } # ignored by ebuild
paulhsiad1eceec2018-12-20 15:44:11 +0800108sync = { path = "sync" }
paulhsiad1eceec2018-12-20 15:44:11 +0800109syscall_defines = { path = "syscall_defines" }
Michael Hoyle6b196952020-08-02 20:09:41 -0700110sys_util = { path = "sys_util" }
David Tolnayfd67ec52019-04-10 17:59:15 -0700111tempfile = { path = "tempfile" }
Gurchetan Singhb1394f72020-10-19 18:31:13 -0700112wire_format_derive = { path = "../../platform2/vm_tools/p9/wire_format_derive" } # ignored by ebuild