# 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"
rust-version = "1.85"
name = "supermachine"
version = "0.4.12"
build = false
include = [
    "src/**/*.rs",
    "examples/**/*.rs",
    "entitlements.plist",
    "oci/init-oci.c",
    "Cargo.toml",
    "README.md",
    "LICENSE-APACHE",
]
publish = true
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Run any OCI/Docker image as a hardware-isolated microVM on macOS HVF (Linux KVM and Windows WHP in progress). Single library API, zero flags for the common case, sub-100 ms cold-restore from snapshot."
documentation = "https://docs.rs/supermachine"
readme = "README.md"
keywords = [
    "microvm",
    "hypervisor",
    "oci",
    "docker",
    "snapshot",
]
categories = [
    "virtualization",
    "api-bindings",
    "command-line-utilities",
]
license = "Apache-2.0"

[features]
default = []
tokio = ["dep:tokio"]

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

[[bin]]
name = "cargo-supermachine"
path = "src/bin/cargo_plugin.rs"

[[bin]]
name = "supermachine"
path = "src/bin/cli.rs"

[[bin]]
name = "supermachine-router"
path = "src/bin/router.rs"

[[bin]]
name = "supermachine-worker"
path = "src/bin/worker.rs"

[[example]]
name = "_axis_bench"
path = "examples/_axis_bench.rs"

[[example]]
name = "_bake_warm"
path = "examples/_bake_warm.rs"

[[example]]
name = "_embed_bench"
path = "examples/_embed_bench.rs"

[[example]]
name = "_ensure_baked_smoke"
path = "examples/_ensure_baked_smoke.rs"

[[example]]
name = "_integrator_bench"
path = "examples/_integrator_bench.rs"

[[example]]
name = "_integrator_breakdown"
path = "examples/_integrator_breakdown.rs"

[[example]]
name = "_pool_autoscale"
path = "examples/_pool_autoscale.rs"

[[example]]
name = "_pool_bench"
path = "examples/_pool_bench.rs"

[[example]]
name = "_pool_v0_4"
path = "examples/_pool_v0_4.rs"

[[example]]
name = "_snapshot_smoke"
path = "examples/_snapshot_smoke.rs"

[[example]]
name = "_stage_diag"
path = "examples/_stage_diag.rs"

[[example]]
name = "_stage_exec_smoke"
path = "examples/_stage_exec_smoke.rs"

[[example]]
name = "_stage_size_probe"
path = "examples/_stage_size_probe.rs"

[[example]]
name = "_timeout_debug"
path = "examples/_timeout_debug.rs"

[[example]]
name = "_tracing_demo"
path = "examples/_tracing_demo.rs"

[[example]]
name = "_typed_errors_smoke"
path = "examples/_typed_errors_smoke.rs"

[[example]]
name = "_warmup_timing"
path = "examples/_warmup_timing.rs"

[[example]]
name = "builder"
path = "examples/builder.rs"

[[example]]
name = "bundle_load"
path = "examples/bundle_load.rs"

[[example]]
name = "embed_simple"
path = "examples/embed_simple.rs"

[[example]]
name = "exec"
path = "examples/exec.rs"

[[example]]
name = "oci_simple"
path = "examples/oci_simple.rs"

[[example]]
name = "tcp_forward"
path = "examples/tcp_forward.rs"

[[example]]
name = "v02_surface"
path = "examples/v02_surface.rs"

[[example]]
name = "warm_pool"
path = "examples/warm_pool.rs"

[[example]]
name = "warm_pool_bench"
path = "examples/warm_pool_bench.rs"

[dependencies.env_logger]
version = "0.11"

[dependencies.libc]
version = "0.2"

[dependencies.log]
version = "0.4"

[dependencies.mio]
version = "1"
features = [
    "net",
    "os-poll",
]

[dependencies.rustls]
version = "0.23"
features = [
    "std",
    "tls12",
    "ring",
    "aws-lc-rs",
]
default-features = false

[dependencies.rustls-pemfile]
version = "2"

[dependencies.serde]
version = "1.0"
features = ["derive"]

[dependencies.serde_json]
version = "1.0"

[dependencies.supermachine-kernel]
version = "=0.4.12"

[dependencies.tokio]
version = "1"
features = [
    "rt",
    "rt-multi-thread",
    "sync",
]
optional = true
default-features = false

[dependencies.tracing]
version = "0.1"

[dev-dependencies.tokio]
version = "1"
features = [
    "rt-multi-thread",
    "macros",
    "time",
]
default-features = false

[dev-dependencies.tracing-subscriber]
version = "0.3"
features = [
    "env-filter",
    "fmt",
]

[target.'cfg(all(target_os = "macos", target_arch = "aarch64"))'.dependencies.applevisor-sys]
version = "1.0"
features = ["macos-15-0"]

[target.'cfg(all(target_os = "macos", target_arch = "aarch64"))'.dependencies.vm-fdt]
version = "0.3"

[lints.rust]
unsafe_op_in_unsafe_fn = "warn"
