blob: 570e3b54094d6dd1d3a1fedfb65b2b7f5b876533 [file]
# Licensed under the Apache-2.0 license
[package]
name = "openprot-mctp-server"
version = "0.1.0"
edition = "2021"
description = "MCTP server implementation for OpenPRoT"
license = "Apache-2.0"
# main.rs is a Pigweed binary built by Bazel only.
autobins = false
[dependencies]
openprot-mctp-api = { path = "../api" }
mctp-lib = { git = "https://github.com/9elements/mctp-lib.git", branch = "buildup", package = "mctp-lib" }
mctp = { git = "https://github.com/OpenPRoT/mctp-rs.git", branch = "sync-features", default-features = false }
heapless = { workspace = true }
[features]
# Polling mode + in-process SPDM responder is the default build.
# Disable with --no-default-features to get the notification (WaitGroup + IRQ) mode.
default = ["i2c-polling", "direct-client"]
# Build mctp_server with a blocking I2C poll loop instead of the WaitGroup +
# IRQ-driven notification loop. No WG or I2C2_IRQ capability is required.
# Enable via crate_features = ["i2c-polling"] in the Bazel rust_app target.
i2c-polling = []
# Expose DirectMctpClient for in-process use (no IPC channel required).
# Required when running an SPDM responder inside the MCTP server process.
direct-client = []
[dev-dependencies]
mctp-lib = { git = "https://github.com/9elements/mctp-lib.git", branch = "buildup", package = "mctp-lib" }
mctp = { git = "https://github.com/OpenPRoT/mctp-rs.git", branch = "sync-features" }