# Copyright 2022 Google LLC
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#     https://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

[package]
name = "cantrip-debug-console"
version = "0.1.0"
authors = ["Matt Harvey <mattharvey@google.com>"]
edition = "2021"
description = "Cantrip OS DebugConsole"
build = "build.rs"

[build-dependencies]
sel4-config = { path = "../../cantrip-os-common/src/sel4-config" }

[features]
default = [
    "autostart_support",
]
autostart_support = []
interactive_shell = []
CONFIG_DEBUG_BUILD = []
CONFIG_PRINTING = []
# Target platform support
CONFIG_PLAT_BCM2837 = []
CONFIG_PLAT_SHODAN = ["cantrip-uart-client", "interactive_shell"]
CONFIG_PLAT_NEXUS = ["cantrip-uart-client", "interactive_shell"]
# Log level is Info unless LOG_DEBUG or LOG_TRACE are specified
LOG_DEBUG = []
LOG_TRACE = []

[dependencies]
cantrip-io = { path = "../cantrip-io" }
cantrip-os-common = { path = "../../cantrip-os-common" }
cantrip-shell = { path = "../cantrip-shell" }
cantrip-uart-client = { path = "../cantrip-uart-client", optional = true }
cfg-if = "1.0"
core2 = { version = "0.3", default-features = false }
log = { version = "0.4", features = ["release_max_level_info"] }
paste = "1.0"
postcard = { version = "0.7", features = ["alloc"], default-features = false }
serde = { version = "1.0", default-features = false, features = ["alloc", "derive"] }

[lib]
name = "cantrip_debug_console"
path = "src/run.rs"
crate-type = ["staticlib"]
