# THIS FILE IS AUTOMATICALLY GENERATED BY CARGO
#
# When uploading crates to the registry Cargo will automatically
# "normalize" Cargo.toml files for maximal compatibility
# with all versions of Cargo and also rewrite `path` dependencies
# to registry (e.g., crates.io) dependencies.
#
# If you are reading this file be aware that the original Cargo.toml
# will likely look very different (and much more reasonable).
# See Cargo.toml.orig for the original contents.

[package]
edition = "2021"
name = "ddevmem"
version = "0.4.0-alpha.5"
authors = ["Dodeca Shaven <dodeca@tutamail.com>"]
build = "build.rs"
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Safe, ergonomic access to physical memory via /dev/mem with volatile MMIO semantics, declarative register maps, and an optional web UI."
documentation = "https://docs.rs/ddevmem"
readme = "README.md"
keywords = [
    "devmem",
    "mmio",
    "register",
    "embedded",
    "hardware",
]
categories = [
    "embedded",
    "hardware-support",
    "os::linux-apis",
]
license = "MIT"
repository = "https://github.com/dodeca1337/ddevmem"

[features]
default = [
    "device",
    "register-map",
    "web",
]
device = ["memmap2"]
emulator = []
register-map = ["ddevmem-macros"]
web = [
    "register-map",
    "ddevmem-macros/web",
    "axum",
    "tokio",
    "serde",
    "serde_json",
    "base64",
    "subtle",
]

[lib]
name = "ddevmem"
path = "src/lib.rs"

[[example]]
name = "array_regs"
path = "examples/array_regs.rs"
required-features = [
    "register-map",
    "emulator",
]

[[example]]
name = "bitfield"
path = "examples/bitfield.rs"
required-features = [
    "register-map",
    "emulator",
]

[[example]]
name = "default_bus"
path = "examples/default_bus.rs"
required-features = [
    "register-map",
    "emulator",
]

[[example]]
name = "typed_bitfield"
path = "examples/typed_bitfield.rs"
required-features = [
    "register-map",
    "emulator",
]

[[example]]
name = "web_auth"
path = "examples/web_auth.rs"
required-features = [
    "web",
    "emulator",
]

[[example]]
name = "web_same_map"
path = "examples/web_same_map.rs"
required-features = [
    "web",
    "emulator",
]

[[example]]
name = "web_server"
path = "examples/web_server.rs"
required-features = [
    "web",
    "emulator",
]

[[example]]
name = "web_showcase"
path = "examples/web_showcase.rs"
required-features = [
    "web",
    "emulator",
]

[dependencies.axum]
version = "0.8"
optional = true

[dependencies.base64]
version = "0.22.1"
optional = true

[dependencies.bytemuck]
version = "1.25.0"

[dependencies.ddevmem-macros]
version = "=0.4.0-alpha.5"
optional = true

[dependencies.memmap2]
version = "0.9.10"
optional = true

[dependencies.page_size]
version = "0.6.0"

[dependencies.serde]
version = "1"
features = ["derive"]
optional = true

[dependencies.serde_json]
version = "1"
optional = true

[dependencies.subtle]
version = "2.6.1"
optional = true

[dependencies.tokio]
version = "1"
features = ["sync"]
optional = true

[dev-dependencies]

[build-dependencies.minify-html]
version = "0.18.1"
