[package]
name          = "esp-hal-procmacros"
version       = "0.17.0"
edition       = "2021"
rust-version  = "1.84.0"
description   = "Procedural macros for esp-hal"
documentation = "https://docs.espressif.com/projects/rust/esp-hal-procmacros/latest/"
repository    = "https://github.com/esp-rs/esp-hal"
license       = "MIT OR Apache-2.0"

[package.metadata.docs.rs]
features = ["embassy", "has-ulp-core", "interrupt", "ram", "is-ulp-core"]

[lib]
proc-macro = true

[dependencies]
darling           = "0.20.10"
document-features = "0.2.11"
litrs             = "0.4.1"
object            = { version = "0.36.7", default-features = false, features = ["read_core", "elf"], optional = true }
proc-macro-crate  = "3.2.0"
proc-macro-error2 = "2.0.1"
proc-macro2       = "1.0.93"
quote             = "1.0.38"
syn               = { version = "2.0.98", features = ["extra-traits", "full"] }

[features]
## Provide a `#[main]` procmacro to mark the entry point for Embassy applications.
embassy = []
## Indicates the target device has RTC slow memory available.
rtc-slow = []

#! ### Low-power Core Feature Flags
## Indicate that the SoC contains an LP core.
has-lp-core = ["dep:object"]
## Indicate that the SoC contains a ULP core.
has-ulp-core = ["dep:object"]
## Provide an `#[entry]` macro for running applications on the ESP32-C6's
## LP core.
is-lp-core = []
## Provide an `#[entry]` macro for running applications on the ESP32-S2/S3's
## ULP core.
is-ulp-core = []
