Skip to content

Commit bec9f61

Browse files
committed
move features to build.rs
1 parent 2b74dd8 commit bec9f61

29 files changed

+1245
-1528
lines changed

CHANGELOG.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ and this project adheres to [Semantic Versioning](http://semver.org/).
1515
- add `embedded-hal-nb::serial`
1616

1717
## [v0.19.0] - 2023-12-11
18+
- Move private features to `build.rs`
1819

1920
### Added
2021

Cargo.toml

Lines changed: 21 additions & 214 deletions
Original file line numberDiff line numberDiff line change
@@ -68,6 +68,10 @@ version = "1.0"
6868
version = "0.5.0"
6969
optional = true
7070

71+
[build-dependencies.phf]
72+
version = "0.11.2"
73+
features = ["macros"]
74+
7175
[dev-dependencies]
7276
defmt = "0.3.4"
7377
defmt-rtt = "0.4.0"
@@ -107,157 +111,23 @@ features = ["macros"]
107111

108112
# Note: stm32f4 has only one feature for some very similar device families,
109113
# so it's intended for e.g. stm32f405/415 to both enable stm32f4/stm32f405.
110-
stm32f401 = ["stm32f4/stm32f401", "gpio-f401",]
111-
stm32f405 = ["stm32f4/stm32f405", "gpio-f417"]
112-
stm32f407 = ["stm32f4/stm32f407", "gpio-f417"]
113-
stm32f415 = ["stm32f4/stm32f405", "gpio-f417", "cryp"]
114-
stm32f417 = ["stm32f4/stm32f407", "gpio-f417", "cryp"]
115-
stm32f410 = ["stm32f4/stm32f410", "gpio-f410"]
116-
stm32f411 = ["stm32f4/stm32f411", "gpio-f411"]
117-
stm32f412 = ["stm32f4/stm32f412", "gpio-f412"]
118-
stm32f413 = ["stm32f4/stm32f413", "gpio-f413"]
119-
stm32f423 = ["stm32f4/stm32f413", "gpio-f413", "aes"]
120-
stm32f427 = ["stm32f4/stm32f427", "gpio-f427", "fsmc"]
121-
stm32f429 = ["stm32f4/stm32f429", "gpio-f427", "fmc"]
122-
stm32f437 = ["stm32f4/stm32f427", "gpio-f427", "fsmc", "cryp"]
123-
stm32f439 = ["stm32f4/stm32f429", "gpio-f427", "fmc", "cryp"]
124-
stm32f446 = ["stm32f4/stm32f446", "gpio-f446"]
125-
stm32f469 = ["stm32f4/stm32f469", "gpio-f469"]
126-
stm32f479 = ["stm32f4/stm32f469", "gpio-f469", "cryp"]
127-
128-
gpio-f401 = [
129-
"gpiod", "gpioe",
130-
"i2c3",
131-
"otg-fs",
132-
"sdio",
133-
"spi3", "spi4",
134-
"tim1", "tim2", "tim3", "tim4", "tim5", "tim9", "tim10", "tim11",
135-
]
136-
gpio-f410 = [
137-
"dac",
138-
"fmpi2c1",
139-
"lptim1",
140-
"spi5",
141-
"tim1", "tim5", "tim6", "tim9", "tim11",
142-
]
143-
gpio-f411 = [
144-
"gpiod", "gpioe", # "gpioi",
145-
"i2c3",
146-
"otg-fs",
147-
"sdio",
148-
"tim1", "tim2", "tim3", "tim4", "tim5", "tim9", "tim10", "tim11",
149-
"spi3", "spi4", "spi5",
150-
]
151-
gpio-f412 = [
152-
"gpiod", "gpioe", "gpiof", "gpiog",
153-
"can1", "can2",
154-
"dfsdm1",
155-
"fmpi2c1",
156-
"fsmc",
157-
"i2c3",
158-
"quadspi",
159-
"otg-fs",
160-
"rng",
161-
"sdio",
162-
"spi3", "spi4", "spi5",
163-
"tim1", "tim2", "tim3", "tim4", "tim5", "tim6", "tim7", "tim8", "tim9", "tim10", "tim11", "tim12", "tim13", "tim14",
164-
"usart3",
165-
]
166-
gpio-f413 = [
167-
"gpiod", "gpioe", "gpiof", "gpiog",
168-
"can1", "can2", "can3",
169-
"dac",
170-
"dfsdm1",
171-
"dfsdm2",
172-
"fsmc",
173-
"fmpi2c1",
174-
"i2c3",
175-
"lptim1",
176-
"quadspi",
177-
"otg-fs",
178-
"rng",
179-
"sai1",
180-
"sdio",
181-
"spi3", "spi4", "spi5",
182-
"tim1", "tim2", "tim3", "tim4", "tim5", "tim6", "tim7", "tim8", "tim9", "tim10", "tim11", "tim12", "tim13", "tim14",
183-
"usart3", "uart4", "uart5", "uart7", "uart8", "uart9", "uart10",
184-
]
185-
gpio-f417 = [
186-
"gpiod", "gpioe", "gpiof", "gpiog", "gpioi",
187-
"adc2", "adc3",
188-
"can1", "can2",
189-
"dac",
190-
"dcmi",
191-
"eth",
192-
"fsmc",
193-
"i2c3",
194-
"otg-fs",
195-
"otg-hs",
196-
"rng",
197-
"sdio",
198-
"spi3",
199-
"tim1", "tim2", "tim3", "tim4", "tim5", "tim6", "tim7", "tim8", "tim9", "tim10", "tim11", "tim12", "tim13", "tim14",
200-
"usart3", "uart4", "uart5",
201-
]
202-
gpio-f427 = [
203-
"gpiod", "gpioe", "gpiof", "gpiog", "gpioi", "gpioj", "gpiok",
204-
"adc2", "adc3",
205-
"can1", "can2",
206-
"dac",
207-
"dcmi",
208-
"eth",
209-
"i2c3",
210-
"ltdc",
211-
"otg-fs",
212-
"otg-hs",
213-
"rng",
214-
"sai1",
215-
"sdio",
216-
"spi3", "spi4", "spi5", "spi6",
217-
"tim1", "tim2", "tim3", "tim4", "tim5", "tim6", "tim7", "tim8", "tim9", "tim10", "tim11", "tim12", "tim13", "tim14",
218-
"usart3", "uart4", "uart5", "uart7", "uart8",
219-
]
220-
gpio-f446 = [
221-
"gpiod", "gpioe", "gpiof", "gpiog",
222-
"adc2", "adc3",
223-
"can1", "can2",
224-
"dac",
225-
"dcmi",
226-
"fmpi2c1",
227-
"fmc",
228-
"i2c3",
229-
"quadspi",
230-
"otg-fs",
231-
"otg-hs",
232-
"sai1",
233-
"sai2",
234-
#"sdio",
235-
"spi3", "spi4",
236-
"spdifrx",
237-
"tim1", "tim2", "tim3", "tim4", "tim5", "tim6", "tim7", "tim8", "tim9", "tim10", "tim11", "tim12", "tim13", "tim14",
238-
"usart3", "uart4", "uart5",
239-
]
240-
gpio-f469 = [
241-
"gpiod", "gpioe", "gpiof", "gpiog", "gpioi", "gpioj", "gpiok",
242-
"adc2", "adc3",
243-
"can1", "can2",
244-
"dac",
245-
"dcmi",
246-
"dsihost",
247-
"eth",
248-
"fmc",
249-
"i2c3",
250-
"ltdc",
251-
"quadspi",
252-
"otg-fs",
253-
"otg-hs",
254-
"rng",
255-
"sai1",
256-
"sdio",
257-
"spi3", "spi4", "spi5", "spi6",
258-
"tim1", "tim2", "tim3", "tim4", "tim5", "tim6", "tim7", "tim8", "tim9", "tim10", "tim11", "tim12", "tim13", "tim14",
259-
"usart3", "uart4", "uart5", "uart7", "uart8",
260-
]
114+
stm32f401 = ["stm32f4/stm32f401"]
115+
stm32f405 = ["stm32f4/stm32f405"]
116+
stm32f407 = ["stm32f4/stm32f407"]
117+
stm32f415 = ["stm32f4/stm32f405"]
118+
stm32f417 = ["stm32f4/stm32f407"]
119+
stm32f410 = ["stm32f4/stm32f410"]
120+
stm32f411 = ["stm32f4/stm32f411"]
121+
stm32f412 = ["stm32f4/stm32f412"]
122+
stm32f413 = ["stm32f4/stm32f413"]
123+
stm32f423 = ["stm32f4/stm32f413"]
124+
stm32f427 = ["stm32f4/stm32f427"]
125+
stm32f429 = ["stm32f4/stm32f429"]
126+
stm32f437 = ["stm32f4/stm32f427"]
127+
stm32f439 = ["stm32f4/stm32f429"]
128+
stm32f446 = ["stm32f4/stm32f446"]
129+
stm32f469 = ["stm32f4/stm32f469"]
130+
stm32f479 = ["stm32f4/stm32f469"]
261131

262132
## Support monotonic timers that can be used by [RTIC framework](https://crates.io/crates/cortex-m-rtic)
263133
rtic = ["dep:rtic-monotonic", "dep:systick-monotonic"]
@@ -282,69 +152,6 @@ fsmc_lcd = ["dep:display-interface"]
282152
## SDIO peripheral support. See [sdio-host](https://crates.io/crates/sdio-host)
283153
sdio-host = ["dep:sdio-host"]
284154

285-
dfsdm = []
286-
sai = []
287-
288-
adc2 = []
289-
adc3 = []
290-
aes = []
291-
can1 = []
292-
can2 = []
293-
can3 = []
294-
cryp = []
295-
dac = []
296-
dcmi = []
297-
dfsdm1 = ["dfsdm"]
298-
dfsdm2 = ["dfsdm"]
299-
dsihost = []
300-
eth = []
301-
fmc = []
302-
fsmc = []
303-
fmpi2c1 = []
304-
gpiod = []
305-
gpioe = []
306-
gpiof = []
307-
gpiog = []
308-
gpioi = []
309-
gpioj = []
310-
gpiok = []
311-
i2c3 = []
312-
lptim1 = []
313-
ltdc = []
314-
quadspi = []
315-
otg-fs = []
316-
otg-hs = []
317-
rng = []
318-
sai1 = ["sai"]
319-
sai2 = ["sai"]
320-
sdio = []
321-
spi3 = []
322-
spi4 = []
323-
spi5 = []
324-
spi6 = []
325-
spdifrx = []
326-
tim1 = []
327-
tim2 = []
328-
tim3 = []
329-
tim4 = []
330-
tim5 = []
331-
tim6 = []
332-
tim7 = []
333-
tim8 = []
334-
tim9 = []
335-
tim10 = []
336-
tim11 = []
337-
tim12 = []
338-
tim13 = []
339-
tim14 = []
340-
usart3 = []
341-
uart4 = []
342-
uart5 = []
343-
uart7 = []
344-
uart8 = []
345-
uart9 = []
346-
uart10 = []
347-
348155
[profile.dev]
349156
debug = true
350157
lto = true

0 commit comments

Comments
 (0)