1
0
mirror of https://github.com/trezor/trezor-firmware.git synced 2024-10-19 22:40:58 +00:00
trezor-firmware/core/embed/rust/Cargo.toml
matejcik 2aa427a6e3 feat(core/rust): make Rust buildable without Micropython
Features `micropython` and `protobuf` are defined. Protobuf implies micropython
because our protobuf impl is pretty much _for_ micropython.

The respective subdirs are included only if the matching feature is defined.

util.rs is moved to micropython because it mostly concerns micropython interop

ResultExt, useful only for ui_debug, is moved to ui::util.

A new module `trezorhal::time` is provided. It mirrors functionality of
`micropython::time` via stmlib functions.  The intended use is to always use
functions from `trezorhal::time`. The right micropython variants are used when
micropython is available, otherwise the pure stmlib versions are called.

ui::*::layout is conditional for micropython feature, because it only concerns
micropython layouts. If we want to reuse layouts defined there, we will need to
export them to not depend on Objs and Qstrs etc.
2022-06-16 13:08:07 +02:00

68 lines
1.1 KiB
TOML

[package]
name = "trezor_lib"
version = "0.1.0"
authors = ["SatoshiLabs <info@satoshilabs.com>"]
edition = "2021"
build = "build.rs"
[features]
default = ["model_tt"]
bitcoin_only = []
model_tt = ["touch"]
model_t1 = ["buttons"]
model_tr = ["buttons"]
micropython = []
protobuf = ["micropython"]
ui = []
ui_debug = []
buttons = []
touch = []
clippy = []
test = ["cc", "glob", "micropython", "protobuf", "ui", "ui_debug"]
[lib]
crate-type = ["staticlib"]
[profile.dev]
panic = "abort"
split-debuginfo = "unpacked"
[profile.release]
panic = "abort"
opt-level = "z"
lto = true
codegen-units = 1
[profile.test]
split-debuginfo = "unpacked"
# Runtime dependencies
[dependencies.cty]
version = "0.2.2"
[dependencies.heapless]
version = "0.7.3"
default_features = false
[dependencies.cstr_core]
version = "0.2.4"
default_features = false
# Build dependencies
[build-dependencies.bindgen]
version = "0.60.1"
default_features = false
features = ["runtime"]
# Build dependencies used for linking the test binary
[build-dependencies.cc]
optional = true
version = "1.0.69"
[build-dependencies.glob]
optional = true
version = "0.3.0"