From c4d6048182acac85055548eb5fc3837ce50bed2c Mon Sep 17 00:00:00 2001 From: Patryk Kubiak Date: Mon, 25 May 2026 15:05:24 +0200 Subject: [PATCH 1/2] Remove ESP-IDF include flags configuration from tools-cfg.cmake --- configs/arch/xtensa/esp32s3/tools-cfg.cmake | 17 ----------------- 1 file changed, 17 deletions(-) diff --git a/configs/arch/xtensa/esp32s3/tools-cfg.cmake b/configs/arch/xtensa/esp32s3/tools-cfg.cmake index 6be0cfe..e215e9f 100644 --- a/configs/arch/xtensa/esp32s3/tools-cfg.cmake +++ b/configs/arch/xtensa/esp32s3/tools-cfg.cmake @@ -76,23 +76,6 @@ if(NOT DEFINED IDF_PATH) endif() endif() -set(ESP_IDF_INCLUDE_FLAGS "") -if(EXISTS "${IDF_PATH}") - file(GLOB_RECURSE ESP_IDF_INCLUDE_DIRS LIST_DIRECTORIES true - "${IDF_PATH}/components/*/include" - "${IDF_PATH}/components/*/*/include" - "${IDF_PATH}/components/*/*/*/include" - ) - list(APPEND ESP_IDF_INCLUDE_DIRS "${IDF_PATH}/components/esp_hw_support/include") - list(REMOVE_DUPLICATES ESP_IDF_INCLUDE_DIRS) - - foreach(ESP_IDF_INCLUDE_DIR ${ESP_IDF_INCLUDE_DIRS}) - string(APPEND ESP_IDF_INCLUDE_FLAGS " -I${ESP_IDF_INCLUDE_DIR}") - endforeach() -else() - message(WARNING "ESP-IDF directory not found: ${IDF_PATH}. ESP-IDF headers will not be available.") -endif() - set(COMMON_DEFINE_FLAGS "-DDMOD_ARCH=\\\"${DMOD_ARCH}\\\" -DDMOD_CPU=\\\"${DMOD_CPU}\\\"") set(CPUCONFIG_CFLAGS "-mlongcalls -mtext-section-literals -fstrict-volatile-bitfields -Wno-frame-address ${COMMON_DEFINE_FLAGS}${ESP_IDF_INCLUDE_FLAGS}" CACHE STRING "C compiler flags") set(CPUCONFIG_CXXFLAGS "-mlongcalls -mtext-section-literals -fstrict-volatile-bitfields -Wno-frame-address ${COMMON_DEFINE_FLAGS}${ESP_IDF_INCLUDE_FLAGS}" CACHE STRING "C++ compiler flags") From d5777969eb8c6dbad3ca9ef3695a05bde8d82c13 Mon Sep 17 00:00:00 2001 From: Patryk Kubiak Date: Mon, 25 May 2026 15:14:48 +0200 Subject: [PATCH 2/2] test --- CMakeLists.txt | 12 ++++++++++++ configs/arch/xtensa/esp32s3/tools-cfg.cmake | 17 +++++++++++++++++ 2 files changed, 29 insertions(+) diff --git a/CMakeLists.txt b/CMakeLists.txt index eb75f30..a545a1f 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -36,6 +36,18 @@ project (dmod VERSION ${dmod_VERSION_MAJOR}.${dmod_VERSION_MINOR} DESCRIPTION "Library for managing of dynamic modules") +# =========================================================================== +# Enable Response Files (fix "argument list too long" error) +# =========================================================================== +# Enable response files to handle very long compiler command lines (common with ESP-IDF) +if(CMAKE_C_RESPONSE_FILE_LINK_FLAG) + # Response files already configured +elseif(CROSS_COMPILE MATCHES "xtensa-esp.*-elf") + # For Xtensa ESP toolchain, explicitly enable response files + set(CMAKE_C_RESPONSE_FILE_LINK_FLAG "@") + set(CMAKE_CXX_RESPONSE_FILE_LINK_FLAG "@") +endif() + # =========================================================================== # Configuration file # =========================================================================== diff --git a/configs/arch/xtensa/esp32s3/tools-cfg.cmake b/configs/arch/xtensa/esp32s3/tools-cfg.cmake index e215e9f..6be0cfe 100644 --- a/configs/arch/xtensa/esp32s3/tools-cfg.cmake +++ b/configs/arch/xtensa/esp32s3/tools-cfg.cmake @@ -76,6 +76,23 @@ if(NOT DEFINED IDF_PATH) endif() endif() +set(ESP_IDF_INCLUDE_FLAGS "") +if(EXISTS "${IDF_PATH}") + file(GLOB_RECURSE ESP_IDF_INCLUDE_DIRS LIST_DIRECTORIES true + "${IDF_PATH}/components/*/include" + "${IDF_PATH}/components/*/*/include" + "${IDF_PATH}/components/*/*/*/include" + ) + list(APPEND ESP_IDF_INCLUDE_DIRS "${IDF_PATH}/components/esp_hw_support/include") + list(REMOVE_DUPLICATES ESP_IDF_INCLUDE_DIRS) + + foreach(ESP_IDF_INCLUDE_DIR ${ESP_IDF_INCLUDE_DIRS}) + string(APPEND ESP_IDF_INCLUDE_FLAGS " -I${ESP_IDF_INCLUDE_DIR}") + endforeach() +else() + message(WARNING "ESP-IDF directory not found: ${IDF_PATH}. ESP-IDF headers will not be available.") +endif() + set(COMMON_DEFINE_FLAGS "-DDMOD_ARCH=\\\"${DMOD_ARCH}\\\" -DDMOD_CPU=\\\"${DMOD_CPU}\\\"") set(CPUCONFIG_CFLAGS "-mlongcalls -mtext-section-literals -fstrict-volatile-bitfields -Wno-frame-address ${COMMON_DEFINE_FLAGS}${ESP_IDF_INCLUDE_FLAGS}" CACHE STRING "C compiler flags") set(CPUCONFIG_CXXFLAGS "-mlongcalls -mtext-section-literals -fstrict-volatile-bitfields -Wno-frame-address ${COMMON_DEFINE_FLAGS}${ESP_IDF_INCLUDE_FLAGS}" CACHE STRING "C++ compiler flags")