| # 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", "in-process-responder"] |
| # 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 by in-process-responder and in-process-requester; on its own it |
| # only exposes the type from the library without instantiating any SPDM role. |
| direct-client = [] |
| # Run an SPDM responder inside the MCTP server process (polling-loop Phase 2). |
| # Mutually exclusive with in-process-requester. |
| in-process-responder = ["direct-client"] |
| # Run an SPDM requester inside the MCTP server process (polling-loop Phase 2). |
| # Mutually exclusive with in-process-responder. |
| in-process-requester = ["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" } |