fix(console): add linenoise multithreading support for Picolibc

This commit is contained in:
Alexey Lapshin
2025-12-06 00:08:36 +07:00
parent 068fefad68
commit 535d93e149
10 changed files with 237 additions and 6 deletions
+11
View File
@@ -1,5 +1,8 @@
idf_build_get_property(target IDF_TARGET)
# Note: Almost all source files in this component include console_stdio_private.h.
# This header only affects LIBC_PICOLIBC builds, not LIBC_NEWLIB builds.
# It enables thread-local stdio streams, which are required for console functionality in some cases.
set(srcs "commands.c"
"esp_console_common.c"
"esp_console_repl_internal.c"
@@ -41,6 +44,14 @@ idf_component_register(SRCS ${srcs}
esp_usb_cdc_rom_console
)
if(CONFIG_LIBC_PICOLIBC)
list(APPEND srcs_include_stdio_private ${srcs})
list(APPEND srcs_include_stdio_private ${argtable_srcs})
list(REMOVE_ITEM srcs_include_stdio_private "esp_console_repl_chip.c" "esp_console_repl_linux.c")
set_source_files_properties(${srcs_include_stdio_private}
PROPERTIES COMPILE_FLAGS "--include=console_stdio_private.h")
endif()
if(CONFIG_COMPILER_STATIC_ANALYZER AND CMAKE_C_COMPILER_ID STREQUAL "GNU") # TODO IDF-10085
target_compile_options(${COMPONENT_LIB} PRIVATE "-fno-analyzer")
endif()