Commit Graph

17 Commits

Author SHA1 Message Date
Jan Beran
9522af1d8f feat: introduce esp-idf-configdep as a build optimization
The esp-idf-configdep utility works as a compiler wrapper. It lets the
compiler compile the app and checks whether -MF option was used to
generate dependency files. If yes, it checks for sdkconfig.h dependency
in those files.

Target file depending on sdkconfig.h is then scanned for all CONFIG_*
occurrences and the dependency file is altered so that the given target
file is marked as "dirty" only if the config options it actually uses
are changed.

This ensures that after a configuration update, only affected files are
rebuilt, reducing incremental build times.

The compiler launcher mechanism is changed from RULE_LAUNCH_COMPILE
(Makefile-only) to CMAKE_*_COMPILER_LAUNCHER (generator-agnostic),
enabling launcher chaining (configdep -> ccache -> compiler).

Made-with: Cursor
2026-06-02 01:26:10 +08:00
Alexey Gerenkov
6b5a00d4eb feat(tools): add esp-clangd tool (version esp-21.1.3_20260304) 2026-05-07 17:42:38 +03:00
Alexey Gerenkov
e7423ebbcc feat(tools): Add standalone Clang libraries to tools.json 2025-04-14 17:10:55 +03:00
Anton Maklakov
02802ea20a feat(tools): Add QEMU 8.0.0_20230522 to tools.json
Process wildcards in the install and download lists of idf_tools
    Fix the install and download handlers to get common behaviour
2023-10-10 09:59:38 +07:00
Alexey Lapshin
98199d50d6 change(tools): update gcc toolchain version to 13.2.0
Add Kconfig option to supress new gcc warnings
Update docs with migration guide
2023-10-09 12:13:00 +04:00
Alexey Gerenkov
55bd4a74cd tools: Replace 'xtensa-clang' with 'esp-clang' 2022-11-22 17:30:14 +03:00
Alexey Lapshin
fd2846c95e tools: add esp-rom-elfs version '20220823' 2022-09-21 22:39:03 +04:00
Alexey Lapshin
a9bd454529 tools: update esp32ulp-elf to v2.35_20220830
Closes https://github.com/espressif/esp-idf/issues/6432
Closes https://github.com/espressif/binutils-esp32ulp/issues/23
2022-09-13 12:55:48 +04:00
Alexey Lapshin
b5bafae596 tools: add GDB v11.1 as a tool
GDB now is standalone tool separated from toolchain due to frequent updates.

Added installation tests for the new tool.

Tests are changed because they were wrong, see explanation:
esp32 objdump:
    40084290 <esp_crosscore_int_send_yield>:
    ......
    /builds/espressif/esp-idf/components/esp_system/crosscore_int.c:145
    4008429c:    000090            retw

With previous GDB backtrace was:
    #0  0x4008429c in esp_crosscore_int_send_yield (core_id=0) at /builds/espressif/esp-idf/components/esp_system/crosscore_int.c:144

This commit fixes the backtrace with the right line number:
    #0  0x4008429c in esp_crosscore_int_send_yield (core_id=0) at /builds/espressif/esp-idf/components/esp_system/crosscore_int.c:145

Other tests changes have the same cause of fixing.

Closes https://github.com/espressif/esp-idf/issues/6334
2022-04-25 11:21:48 +07:00
Juraj Sadel
1a88d5a736 LLVM for Xtensa (ESP32, ESP32-S2) based on clang 2021-10-13 13:45:56 +02:00
Juraj Michálek
1427b3a6d8 tools: support for embedded python 2021-01-18 08:10:56 +01:00
Marius Vikhammer
7fe16bae25 tools: merge C3 changes into master 2020-12-30 07:04:12 +08:00
Ivan Grokhotkov
de798541dc tools: use riscv32-esp-elf toolchain for ESP32-S2 RISC-V ULP
riscv32-esp-elf toolchain (used for ESP32-C3) can also be used for
ESP32-S2 RISC-V ULP coprocessor.

This removes the riscv-none-embed-gcc toolchain which was originally
used for the ULP, and updates the docs and CMake files to use
riscv32-esp-elf.

Some flags are cleaned up and workarounds removed from CMake toolchain
file.
2020-12-29 19:19:18 +00:00
morris
9fa06719fa global: enable build uinit test for esp32-s3 2020-09-22 15:15:03 +08:00
Felipe Neves
b6dba84323 ulp: added support to building code for riscv ULP coprocessor 2020-07-15 15:28:49 -03:00
Roland Dobai
ab9f714248 Add build system support for programming ESP32-S2 using DFU utils 2020-04-30 07:59:18 +02:00
Ivan Grokhotkov
1cd6f67679 docs: add API guide page about IDF Tools 2020-01-24 14:02:21 +01:00