1
0
mirror of https://github.com/RIOT-OS/RIOT.git synced 2025-12-30 00:41:17 +01:00
RIOT/pkg/mpaland-printf/Makefile.dep
Marian Buschsieweke f69b6667b0
pkg/mpaland-printf: fix dependencies
- `arch_64bit` depends on long long support (rather than just enabling
  it by default), as otherwise `%p` will not work correctly
  ==> add hard dependency
- On 32 bit platforms support of printing long long is not almost free
  ==> do not enable long long on `arch_32bit` by default
- The ESP SDK contains binary blobs that already link against newlib and
  mpaland-printf is not ABI compatible with newlib's stdio, it is only
  API compatible.
  ==> mark mpaland-printf as incompatible to ESP MCUs

Co-authored-by: crasbe <crasbe@gmail.com>
2025-08-21 12:06:03 +02:00

15 lines
624 B
Makefile

# mpaland's printf does not implement non-standard format specifiers. For
# AVR MCUs we do need the ability to print from PROGMEM, though. Hence, this
# is not compatible with AVR MCUs.
FEATURES_BLACKLIST += arch_avr8
# On ESP it is not easily possible to replace newlib's stdio, as there is only
# API compatibility and not ABI compatibility between mpaland-printf and newlib's
# printf and the ESP SDK contains binary blobs.
FEATURES_BLACKLIST += arch_esp
# On 64 bit systems, we depend on long long support to be able to support `%p`
ifneq (,$(filter arch_64bit,$(FEATURES_USED)))
USEMODULE += printf_long_long
endif