mirror of
https://github.com/espressif/esp-idf.git
synced 2026-09-22 13:01:16 +03:00
fix(build): prepare dependents for bootloader_support dropping mbedtls
bootloader_support is about to stop pulling mbedtls (and app_update) into every build graph, so components and apps that relied on those transitive edges must own their dependencies Closes https://github.com/espressif/esp-idf/issues/18072 Related https://github.com/espressif/esp-idf/issues/18778
This commit is contained in:
committed by
Mahavir Jain
parent
4ddc55b7a1
commit
8589d9df25
@@ -542,6 +542,13 @@ else()
|
||||
target_link_libraries(${COMPONENT_LIB} ${linkage_type} "-u mbedtls_psa_crypto_init_include_impl")
|
||||
endif()
|
||||
|
||||
# Force-link esp_mem.c so esp_mbedtls_mem_calloc/free are present whenever
|
||||
# mbedtls is in the link. Without this, link order breaks for apps that pull
|
||||
# mbedtls but don't call any mbedtls function
|
||||
if(NOT (CMAKE_HOST_SYSTEM_NAME STREQUAL "Darwin" AND ${IDF_TARGET} STREQUAL "linux"))
|
||||
target_link_libraries(${COMPONENT_LIB} ${linkage_type} "-u esp_mbedtls_mem_calloc")
|
||||
endif()
|
||||
|
||||
# Additional optional dependencies for the mbedcrypto library
|
||||
function(builtin_optional_deps component_name)
|
||||
idf_build_get_property(components BUILD_COMPONENTS)
|
||||
|
||||
@@ -63,7 +63,12 @@ else()
|
||||
set(requires esp_partition esp_blockdev)
|
||||
set(priv_requires spi_flash)
|
||||
if(NOT ${target} STREQUAL "linux")
|
||||
list(APPEND priv_requires esp_libc esptool_py nvs_sec_provider)
|
||||
# mbedtls is needed for NVS encryption (nvs_encrypted_partition.cpp).
|
||||
# It used to be pulled in transitively via bootloader_support, but
|
||||
# that dep was removed in the bootloader_support / esp_image_verify
|
||||
# split. Declare it explicitly so `idf::mbedtls` exists for the
|
||||
# target_link_libraries() call below.
|
||||
list(APPEND priv_requires esp_libc esptool_py nvs_sec_provider mbedtls)
|
||||
endif()
|
||||
|
||||
idf_component_register(SRCS "${srcs}"
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
idf_component_register(SRCS "main.c"
|
||||
PRIV_REQUIRES app_update
|
||||
INCLUDE_DIRS ".")
|
||||
|
||||
# Import the library, specifying a target name and the library path.
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
idf_component_register(SRCS "main.c"
|
||||
PRIV_REQUIRES app_update
|
||||
INCLUDE_DIRS ".")
|
||||
|
||||
# Import the library, specifying a target name and the library path.
|
||||
|
||||
@@ -1,2 +1,3 @@
|
||||
idf_component_register(SRCS "otatool_main.c"
|
||||
PRIV_REQUIRES app_update
|
||||
INCLUDE_DIRS ".")
|
||||
|
||||
@@ -1,2 +1,3 @@
|
||||
idf_component_register(SRCS "test_main.c"
|
||||
REQUIRES mbedtls
|
||||
INCLUDE_DIRS ".")
|
||||
|
||||
@@ -1,2 +1,3 @@
|
||||
idf_component_register(SRCS "test_main.c"
|
||||
REQUIRES mbedtls
|
||||
INCLUDE_DIRS ".")
|
||||
|
||||
Reference in New Issue
Block a user