Commit Graph
1958 Commits
Author SHA1 Message Date
Frantisek Hrbata e1eae669bc fix(cmakev2/compat): change idf_component_optional_requires behavior
The idf_component_optional_requires compatibility function in cmakev2
currently attempts to mimic the behavior of cmakev1 by adding a
dependency only if a component is already included in the build. In
cmakev1, this is handled by checking the BUILD_COMPONENTS list, which is
created during an early evaluation phase. Because cmakev2 removed this
early phase to allow for configuration-based component dependencies, the
build system does not inherently know which components will be part of
the build beforehand. To compensate, the current compatibility function
relies on the TARGET_EXISTS generator expression to determine if a
component should be linked.

This approach poses a problem because generator expressions are not
evaluated until the generation phase, but cmakev2 processes linker
scripts during the configuration phase by recursively scanning targets
linked to a library. Because the scanner does not recognize and cannot
evaluate generator expressions, any component linked optionally through
generator expression is skipped. If that component carries a linker
script, the script is never added to the library interface, resulting in
build failures. Since cmakev2 aims to support multiple libraries, a
component might also exist globally, causing TARGET_EXISTS to evaluate
to true, yet still be missed during a specific library's recursive scan,
leading to the same omission of necessary linker scripts.

To resolve this, the implementation of idf_component_optional_requires
is changed to check if a component is known to the build system in
COMPONENTS_DISCOVERED build property. If so, it is explicitly included
and linked directly via its interface target. While this may pull more
components into a build than the previous generator expression method,
potentially increasing build times, it ensures that dependency trees are
fully visible to the library target scanner. This serves as a practical
middle ground that maintains compatibility with existing components and
ensures build stability. This approach allows for the gradual fixing of
idf_component_optional_requires usage in components for cmakev2, with
the eventual goal of removing its usage in cmakev2 entirely.

This change also fixes cases where idf_component_optional_requires is
used to conditionally add requirements based on configuration options.
In cmakev2, the presence of a configuration option does not guarantee[1]
that a component has been included via add_subdirectory, unlike the
behavior in cmakev1. With this change even constructions like

```cmake
if(CONFIG_VFS_SUPPORT_IO)
    idf_component_optional_requires(PRIVATE vfs)
endif()
```

will now work in cmakev2, as the updated idf_component_optional_requires
explicitly includes the required component if it is available to the
build system.

Closes https://github.com/espressif/esp-idf/issues/18133

[1] https://docs.espressif.com/projects/esp-idf/en/latest/esp32/api-guides/build-system-v2.html#id9

Signed-off-by: Frantisek Hrbata <frantisek.hrbata@espressif.com>
2026-02-04 09:28:35 +01:00
harshal.patil 0cebfe7771 change(mbedtls): Disable MBEDTLS_SHA3_C by default 2026-02-03 14:55:44 +08:00
Marius Vikhammer 79950e4783 docs(esp32s31): add support for building docs for esp32s31 2026-01-28 09:42:24 +08:00
Jack fda9e96100 fix some issues found by Opus 4.5 2026-01-27 10:38:20 +08:00
luweike 1e85c13bd5 docs: Clarify Bluetooth Classic capabilities and profile support 2026-01-20 17:26:07 +08:00
Marek Fiala 9b0475de34 docs(tools): Made static link for config profile files
Made the reference link to v5.5 to reflect the correct example,
as in later version the example was changed.
2026-01-14 23:17:00 +08:00
Marek Fiala 3a23146518 docs(tools): Updated argument via file with quotations
Closes https://github.com/espressif/esp-idf/issues/18077
2026-01-14 23:17:00 +08:00
luweike b26f636ce3 docs: Add BLE support information for C5 and C61 2026-01-13 15:29:44 +08:00
Guillaume Souchere 0c570d860d feat(esp_event): Add option to allocate event loop in external RAM 2026-01-08 10:38:43 +01:00
Mo Fei Fei cbc34e3676 Merge branch 'docs/add_s3_usb_otg_board_ref_in_dfu' into 'master'
docs: add reference to ESP32-S3-USB-OTG board

Closes DOC-4873 and DOC-13439

See merge request espressif/esp-idf!44603
2026-01-05 11:08:57 +08:00
mofeifei 6653d97bbe docs: add reference to ESP32-S3-USB-OTG board 2026-01-04 18:57:56 +08:00
Wei Yuhan 8de6782cfa docs(ble): Added controller sdkconfig in ble-multiconnection-guide.rst 2025-12-30 16:44:39 +08:00
Shen Mengjing 17874b7955 docs: Sync four CN and EN docs 2025-12-26 14:22:41 +08:00
Wei Yu Han deacf96eb8 Merge branch 'docs/add_ble_multiconnection_guide_latest' into 'master'
docs(ble): Added BLE Multi Connection Guide

See merge request espressif/esp-idf!43189
2025-12-26 10:31:15 +08:00
Ren Peiying 5c0c17231c Merge branch 'docs/add_cn_trans_for_stdio_and_system' into 'master'
docs: Update translation for system, add translation for stdio.rst

Closes DOC-13272

See merge request espressif/esp-idf!44391
2025-12-25 19:22:47 +08:00
Wei Yuhan 80905af2f0 docs(ble): Added BLE Multi Connection Guide 2025-12-24 19:58:05 +08:00
yinqingzhao a6b2eb6ad0 refactor(wifi): remove enum values WIFI_BW_HT20 and WIFI_BW_HT40 2025-12-24 14:11:52 +08:00
Wang Ning 9f10058395 Docs: Update Get Started for EIM 2025-12-23 22:29:08 +08:00
renpeiying 4f30d217dd Update according to review 2025-12-22 14:15:49 +08:00
renpeiying 7044dfc1a9 docs: Update translation for system, add translation for stdio.rst 2025-12-18 17:56:19 +08:00
luoxu a301dc1eac feat(ble_mesh): dfd client/server supported 2025-12-18 15:24:50 +08:00
Konstantin Kondrashov 9a95549bee Merge branch 'contrib/github_pr_15525' into 'master'
feat(esp_common): Adds ESP_RETURN_ON_ERROR_CLEANUP macro (GitHub PR)

Closes IDFGH-14787

See merge request espressif/esp-idf!44049
2025-12-11 00:15:28 +08:00
He Binglin 7a4acd64c7 Merge branch 'feature/support_lightsleep_flash_dpd_mode' into 'master'
feat: Support set flash to deep power down mode in lightsleep

Closes PM-619 and IDF-7359

See merge request espressif/esp-idf!25578
2025-12-10 15:48:55 +08:00
Robot fdb78272a4 feat(esp_common): Adds ESP_RETURN_ON_ERROR_CLEANUP macro
Merges: https://github.com/espressif/esp-idf/pull/15525
2025-12-09 15:34:41 +02:00
hebinglin 520d1de4c1 docs(pm): add flash deep power-down mode description docs 2025-12-09 17:19:27 +08:00
luweike 7a528c46f6 docs: remove old wifi.rst files after document split 2025-12-09 09:24:17 +08:00
Alexey Lapshin 31810ae993 feat(esp_libc): make picolibc default libc 2025-12-03 13:31:42 +07:00
Jan Beran 132f191874 feat(core-ext): Add refresh-config command
This command will allow users to resolve mismatches in default values
between sdkconfig and Kconfig according to a policy specified:

* sdkconfig: Using default values from sdkconfig (backward compatible)
* interactive: User can choose the source for every affected config
  option separatedly
* kconfig: Using default values from Kconfig
2025-11-25 20:31:08 +08:00
Martin Vychodil 80ed20959d Merge branch 'feat/nvs_iteration_statistics_examples' into 'master'
feat(examples/storage): add nvs statistics and iteration examples

Closes DOC-12742

See merge request espressif/esp-idf!42327
2025-11-24 17:54:31 +08:00
Zhang Shuxian feff20614e docs: Update CN translation and improve formatting 2025-11-21 20:38:20 +08:00
zhanghaipeng 60a028fb17 feat(ble/blufi): Support setting BLE encryption for blufi 2025-11-21 16:41:33 +08:00
Roland Dobai 69a5c7384f Merge branch 'change/add-support-for-kconfig-report' into 'master'
Change/add support for kconfig report

Closes IDF-11816

See merge request espressif/esp-idf!37165
2025-11-20 23:30:54 +01:00
Erhan Kurubas 1a4828cca8 Merge branch 'update_jtag_docs' into 'master'
Update jtag docs

Closes OCD-525

See merge request espressif/esp-idf!43210
2025-11-19 13:38:13 +01:00
Shen Mengjing 15c6cff6eb docs: Edit the CN translation from AI 2025-11-19 15:35:20 +08:00
Jan Beran bf9b9a0259 change(kconfig): add support for configuration report 2025-11-18 20:42:38 +08:00
Jiang Jiang Jian 504c82ff6a Merge branch 'bugfix/update_wifi_fragment_doc' into 'master'
docs(wifi): update wifi fragment doc

Closes WIFI-7097

See merge request espressif/esp-idf!43044
2025-11-18 10:50:27 +08:00
Alexey Lapshin 8b1bb83af7 Merge branch 'feature/dynamic_flags_in_toolchain_cmake' into 'master'
feat(build): propagate compiler flags from files to toolchain.cmake

Closes IDF-11323

See merge request espressif/esp-idf!42966
2025-11-17 07:52:41 +04:00
Alexey Lapshin 233015265d fix(docs): remove note about externalproject_add limitation 2025-11-14 21:04:58 +07:00
Alexey Lapshin b0388ad4a5 feat(build): add COMPILER_ENABLE_RISCV_ZCMP option
Applicable for chips affected by interrupt issue:
  - ESP32C5
  - ESP32C61
  - ESP32H4

For all other chips that support the ZCMP extension without issues,
it will be enabled unconditionally.
2025-11-14 21:04:58 +07:00
muhaidong 9cbd5c2804 docs(wifi): update wifi fragment doc 2025-11-12 19:15:28 +08:00
Euripedes Rocha Filho 448714b056 remove(mqtt): Moves esp-mqtt to component manager
esp-mqtt is now a managed component at espressif/mqtt
2025-11-11 09:21:37 +01:00
Erhan Kurubas abc6784446 docs(jtag): document program_esp_bins command 2025-11-10 19:51:34 +01:00
Erhan Kurubas c623b12c8d docs(jtag): replace OpenOCD build instructions with GH workflow reference 2025-11-10 19:51:34 +01:00
Martin Havlik ca16bf9c68 docs(examples/storage): Add docs entries for 2 new NVS examples
Extend the existing mentions of NVS examples with 2 newly added
`nvs_statistics` and `nvs_iteration`.
2025-11-10 12:18:31 +01:00
Erhan Kurubas 79cda70029 change(app_trace): move sysview to component registry 2025-11-10 15:55:41 +08:00
Roland Dobai a0b589c147 Merge branch 'feat/cmakev2' into 'master'
feat(cmakev2): introduce cmake-based build system v2

See merge request espressif/esp-idf!42691
2025-11-04 02:53:36 +01:00
Roland Dobai a6396a5387 Merge branch 'feature/cmake_presets' into 'master'
feat(tools): add idf.py support for CMake configuration presets

Closes IDF-13090, IDF-9350, and DOC-12674

See merge request espressif/esp-idf!40552
2025-11-03 17:15:46 +01:00
Erhan Kurubas b3132d31ed Merge branch 'esp_tracing_component' into 'master'
New Esp tracing component

Closes IDF-13405 and DOC-12721

See merge request espressif/esp-idf!41755
2025-10-30 23:07:49 +01:00
Shen Meng Jing 310f973583 Merge branch 'docs/sync_en_and_cn_docs' into 'master'
docs: Sync EN and CN docs without 'needs translation' label

Closes DOC-12700

See merge request espressif/esp-idf!42919
2025-10-30 23:01:35 +08:00
Erhan Kurubas 1dac8685db feat(tracing): add new component for tracing 2025-10-30 12:15:35 +01:00