crosvm: Split sub-crates into independent workspace

Split sub-crates under crosvm root directory into several independent
workspaces for adding ebuild files for those crates.

data_model and sys_util could only be built by emerge after creating
their ebuilds.

BUG=chromium:916921
TEST='emerge-eve crosvm'
TEST=Run 'cargo build' under crosvm directory

Change-Id: I2dddbbb7c7344e643183a5885e867f134b299591
Reviewed-on: https://chromium-review.googlesource.com/1385972
Commit-Ready: Chih-Yang Hsia <paulhsia@chromium.org>
Tested-by: Chih-Yang Hsia <paulhsia@chromium.org>
Reviewed-by: Chirantan Ekbote <chirantan@chromium.org>
Reviewed-by: Zach Reizner <zachr@chromium.org>
This commit is contained in:
paulhsia 2018-12-20 15:44:11 +08:00 committed by chrome-bot
parent f71764228a
commit d1eceeca7b
7 changed files with 42 additions and 6 deletions

View file

@ -10,6 +10,13 @@ overflow-checks = true
[workspace]
members = ["9s", "qcow_utils"]
exclude = [
"assertions",
"data_model",
"sync",
"sys_util",
"syscall_defines",
]
[features]
plugin = ["plugin_proto", "crosvm_plugin", "protobuf"]
@ -28,7 +35,7 @@ io_jail = { path = "io_jail" }
kvm = { path = "kvm" }
kvm_sys = { path = "kvm_sys" }
msg_socket = { path = "msg_socket" }
sys_util = { path = "sys_util" }
sys_util = "*"
usb_util = { path = "usb_util", optional = true }
kernel_cmdline = { path = "kernel_cmdline" }
kernel_loader = { path = "kernel_loader" }
@ -37,7 +44,7 @@ byteorder = "=1.1.0"
net_util = { path = "net_util" }
vhost = { path = "vhost" }
vm_control = { path = "vm_control" }
data_model = { path = "data_model" }
data_model = "*"
qcow = { path = "qcow" }
plugin_proto = { path = "plugin_proto", optional = true }
crosvm_plugin = { path = "crosvm_plugin", optional = true }
@ -54,4 +61,12 @@ x86_64 = { path = "x86_64" }
aarch64 = { path = "aarch64" }
[dev-dependencies]
sys_util = "*"
[patch.crates-io]
assertions = { path = "assertions" }
data_model = { path = "data_model" }
poll_token_derive = { path = "sys_util/poll_token_derive" }
sync = { path = "sync" }
sys_util = { path = "sys_util" }
syscall_defines = { path = "syscall_defines" }

View file

@ -2,3 +2,6 @@
name = "assertions"
version = "0.1.0"
authors = ["The Chromium OS Authors"]
include = ["src/**/*", "Cargo.toml"]
[workspace]

View file

@ -2,6 +2,9 @@
name = "data_model"
version = "0.1.0"
authors = ["The Chromium OS Authors"]
include = ["src/**/*", "Cargo.toml"]
[dependencies]
assertions = { path = "../assertions" }
assertions = "*"
[workspace]

View file

@ -2,3 +2,6 @@
name = "sync"
version = "0.1.0"
authors = ["The Chromium OS Authors"]
include = ["src/**/*", "Cargo.toml"]
[workspace]

View file

@ -2,10 +2,16 @@
name = "sys_util"
version = "0.1.0"
authors = ["The Chromium OS Authors"]
include = ["src/**/*", "Cargo.toml"]
[dependencies]
data_model = { path = "../data_model" }
data_model = "*"
libc = "*"
syscall_defines = { path = "../syscall_defines" }
syscall_defines = "*"
poll_token_derive = "*"
sync = "*"
[workspace]
[patch.crates-io]
poll_token_derive = { path = "poll_token_derive" }
sync = { path = "../sync" }

View file

@ -2,6 +2,7 @@
name = "poll_token_derive"
version = "0.1.0"
authors = ["The Chromium OS Authors"]
include = ["*.rs", "Cargo.toml"]
[lib]
proc-macro = true
@ -11,3 +12,5 @@ path = "poll_token_derive.rs"
syn = "0.15"
quote = "0.6"
proc-macro2 = "0.4"
[workspace]

View file

@ -2,5 +2,8 @@
name = "syscall_defines"
version = "0.1.0"
authors = ["The Chromium OS Authors"]
include = ["src/**/*", "Cargo.toml"]
[dependencies]
[workspace]