| [package] |
| name = "libtock" |
| version = "0.2.0" |
| authors = ["Tock Project Developers <tock-dev@googlegroups.com>"] |
| license = "MIT/Apache-2.0" |
| edition = "2018" |
| |
| [features] |
| alloc = ["libtock_core/alloc"] |
| custom_panic_handler = ["libtock_core/custom_panic_handler"] |
| custom_alloc_error_handler = ["libtock_core/custom_alloc_error_handler"] |
| # In the QEMU-emulated HiFive1 target, we do not have connected GPIO pins or a |
| # working timer interface. These features allow the test's user to disable these |
| # tests in environments where they will not pass. |
| __internal_disable_gpio_in_integration_test = [] |
| __internal_disable_timer_in_integration_test = [] |
| |
| [dependencies] |
| libtock_core = { path = "core" } |
| libtock_codegen = { path = "codegen" } |
| futures = { version = "0.3.1", default-features = false, features = ["unstable", "cfg-target-has-atomic"] } |
| futures-core = { version = "=0.3.29", default-features = false, features = ["unstable", "cfg-target-has-atomic"] } |
| |
| [dev-dependencies] |
| corepack = { version = "0.4.0", default-features = false, features = ["alloc"] } |
| # We pin the serde version because newer serde versions may not be compatible |
| # with the nightly toolchain used by libtock-rs. |
| serde = { version = "=1.0.114", default-features = false, features = ["derive"] } |
| ctap2-authenticator = { git = "https://gitlab.com/ctap2-authenticator/ctap2-authenticator.git" } |
| p256 = { version = "0.7" , default-features = false, features = ["arithmetic", "ecdsa", "ecdsa-core"] } |
| # p256 depends transitively on bitvec 0.18. bitvec 0.18.5 depends on radium |
| # 0.3.0, which does not work on platforms that lack atomics. This prevents cargo |
| # from selecting bitvec 0.18.5, which avoids the radium 0.3.0 issue. |
| bitvec = { version = "<=0.18.4", default-features = false } |
| subtle = { version = "2.3.0", default-features = false, features = ["i128"] } |
| generic-array = { version = "0.14.3" } |
| libmctp = { version = "0.1.0" } |
| |
| # We need to override this to allow builds for targets that don't support atomics. |
| # Once a version newer then 0.4.11 is released we can update to use that. |
| # See: https://github.com/rust-lang/log/releases |
| [patch.crates-io] |
| log = { git = "https://github.com/rust-lang/log.git", branch = "master" } |
| |
| [[example]] |
| name = "alloc_error" |
| path = "examples-features/alloc_error.rs" |
| required-features = ["alloc", "custom_alloc_error_handler"] |
| |
| [[example]] |
| name = "ctap_features" |
| path = "examples-features/ctap.rs" |
| required-features = ["alloc", "custom_alloc_error_handler"] |
| |
| [[example]] |
| name = "ble_scanning" |
| path = "examples-features/ble_scanning.rs" |
| required-features = ["alloc"] |
| |
| [[example]] |
| name = "libtock_test" |
| path = "examples-features/libtock_test.rs" |
| required-features = ["alloc"] |
| |
| [[example]] |
| name = "panic" |
| path = "examples-features/panic.rs" |
| required-features = ["custom_panic_handler"] |
| |
| [[example]] |
| name = "simple_ble" |
| path = "examples-features/simple_ble.rs" |
| required-features = ["alloc"] |
| |
| [profile.dev] |
| panic = "abort" |
| lto = true |
| debug = true |
| opt-level = 0 |
| |
| [profile.release] |
| panic = "abort" |
| lto = true |
| debug = true |
| |
| [workspace] |
| exclude = [ "tock" ] |
| members = [ |
| "codegen", |
| "core", |
| "platform", |
| "runtime", |
| "test_runner", |
| "tools/print_sizes", |
| ] |