mirror of
https://github.com/zephyrproject-rtos/zephyr
synced 2025-09-17 15:51:57 +00:00
If newlib is configured with --enable-newlib-nano-formatted-io, floating-point support is split out of the formatted I/O code into weak functions which are not linked by default. This leads to a smaller code by about 16~20k when using newlib "printf" and/or "sscanf" but not using floating point I/O. Programs that need floating-point I/O support must explicitly request linking of one or both of the floating-point functions: _printf_float or _scanf_float. This can be done at link time using the -u option which can be passed to either gcc or ld. Implemented via new configuration options: CONFIG_NEWLIB_LIBC_FLOAT_PRINTF CONFIG_NEWLIB_LIBC_FLOAT_SCANF Change-Id: I57f9d9f02e6d21d6011d14de7153b1d3ba6f6e32 Signed-off-by: Juro Bystricky <juro.bystricky@intel.com>
20 lines
354 B
Makefile
20 lines
354 B
Makefile
ifdef CONFIG_MINIMAL_LIBC
|
|
ZEPHYRINCLUDE += -I$(srctree)/lib/libc/minimal/include
|
|
endif
|
|
|
|
ifdef CONFIG_NEWLIB_LIBC
|
|
ZEPHYRINCLUDE += $(TOOLCHAIN_CFLAGS)
|
|
ALL_LIBS += m c
|
|
|
|
ifdef CONFIG_NEWLIB_LIBC_FLOAT_PRINTF
|
|
LDFLAGS += -u _printf_float
|
|
endif
|
|
|
|
ifdef CONFIG_NEWLIB_LIBC_FLOAT_SCANF
|
|
LDFLAGS += -u _scanf_float
|
|
endif
|
|
|
|
endif
|
|
|
|
include $(srctree)/lib/iot/Makefile
|