diff --git a/Cargo.toml b/Cargo.toml index 04fbe42..5ca75ba 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -3,6 +3,11 @@ name = "chirp" version = "0.1.0" edition = "2021" +[features] +default = [] +rhexdump = ["dep:rhexdump"] +serde = ["dep:serde"] + # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html [profile.release] opt-level = 'z' @@ -17,11 +22,10 @@ overflow-checks = false [dependencies] -gumdrop = "0.8.1" -hex-wrapper = "1.3.2" -minifb = "0.24.0" +gumdrop = "^0.8.1" +minifb = { version = "^0.24.0", features = ["wayland"] } owo-colors = "^3" -rand = "0.8.5" -rhexdump = "0.1.1" -serde = { version = "^1.0", features = ["derive"] } -thiserror = "1.0.39" +rand = "^0.8.5" +rhexdump = {version = "^0.1.1", optional = true } +serde = { version = "^1.0", features = ["derive"], optional = true } +thiserror = "^1.0.39" diff --git a/src/bus.rs b/src/bus.rs index 60de4d2..a640b68 100644 --- a/src/bus.rs +++ b/src/bus.rs @@ -53,12 +53,16 @@ pub enum Region { impl Display for Region { fn fmt(&self, f: &mut Formatter<'_>) -> std::fmt::Result { - write!(f, "{}", match self { - Region::Charset => "charset", - Region::Program => "program", - Region::Screen => "screen", - Region::Stack => "stack", - }) + write!( + f, + "{}", + match self { + Region::Charset => "charset", + Region::Program => "program", + Region::Screen => "screen", + Region::Stack => "stack", + } + ) } } @@ -188,6 +192,7 @@ impl Write for Bus { } } +#[cfg(target_feature = "rhexdump")] impl Display for Bus { fn fmt(&self, f: &mut Formatter<'_>) -> std::fmt::Result { use rhexdump::Rhexdump;