kata-os-common: reduce internal dependencies

kata-os-common is an "aggregate crate" used many places where only
a subset of the code is used (esp applicatiions written in Rust).
Reduce internal dependencies to reduce bloat and speed up builds:
- expand the scope of the "camkes_support" feature
- adjust sel4-sys deps that do not require serde support
- add a "capdl_support" feature (default disabled)

Change-Id: Ie1319f1168d37bd6c8f0de8d19708153c7b80dcd
GitOrigin-RevId: a02c4b1a5d6ca26920cba013d9339415b607a2c0
This commit is contained in:
Sam Leffler 2022-09-16 18:16:26 +00:00
parent 7107bef631
commit b113b052e5
4 changed files with 13 additions and 9 deletions

View File

@ -19,17 +19,18 @@ edition = "2021"
[features]
default = ["camkes_support"]
camkes_support = []
camkes_support = ["camkes", "copyregion", "cspace-slot", "slot-allocator"]
capdl_support = ["capdl", "model"]
[dependencies]
allocator = { path = "src/allocator" }
camkes = { path = "src/camkes" }
capdl = { path = "src/capdl" }
copyregion = { path = "src/copyregion" }
cspace-slot = { path = "src/cspace-slot" }
camkes = { path = "src/camkes", optional = true }
capdl = { path = "src/capdl", optional = true }
copyregion = { path = "src/copyregion", optional = true }
cspace-slot = { path = "src/cspace-slot", optional = true }
logger = { path = "src/logger" }
model = { path = "src/model" }
model = { path = "src/model", optional = true }
panic = { path = "src/panic" }
scheduling = { path = "src/scheduling" }
sel4-sys = { path = "src/sel4-sys" }
slot-allocator = { path = "src/slot-allocator" }
slot-allocator = { path = "src/slot-allocator", optional = true }

View File

@ -20,5 +20,5 @@ path = "mod.rs"
[dependencies]
cstr_core = { version = "0.2.3", default-features = false }
sel4-sys = { path = "../sel4-sys" }
sel4-sys = { path = "../sel4-sys", default-features = false }
log = { version = "0.4", features = ["release_max_level_info"] }

View File

@ -17,14 +17,17 @@
pub extern crate allocator;
#[cfg(feature = "camkes_support")]
pub extern crate camkes;
#[cfg(feature = "capdl_support")]
pub extern crate capdl;
#[cfg(feature = "camkes_support")]
pub extern crate copyregion;
#[cfg(feature = "camkes_support")]
pub extern crate cspace_slot;
pub extern crate logger;
#[cfg(feature = "capdl_support")]
pub extern crate model;
pub extern crate panic;
pub extern crate scheduling;
pub extern crate sel4_sys;
#[cfg(feature = "camkes_support")]
pub extern crate slot_allocator;

View File

@ -45,6 +45,6 @@ capdl = { path = "../capdl" }
cpio = { git = "https://github.com/rcore-os/cpio" }
cstr_core = "0.2.3"
log = { version = "0.4", features = ["release_max_level_info"] }
sel4-sys = { path = "../sel4-sys", features = ["arch_generic"] }
sel4-sys = { path = "../sel4-sys", default-features = false, features = ["arch_generic"] }
smallvec = "1.2"
static_assertions = "1.1"