refactor (nvs_flash)!: removed mbedtls as default dependency

mbedtls is only required in NVS if NVS encryption is enabled.
Hence the mbedtls dependency is now only added if encryption
is enabled, otherwise it is not added.

BREAKING CHANGE: Removed mbedtls as default dependency
pull/8312/head
Jakob Hasse 2021-12-08 16:56:49 +08:00
rodzic c2b8535205
commit 1d4061d3f2
3 zmienionych plików z 8 dodań i 12 usunięć

Wyświetl plik

@ -601,7 +601,7 @@ endif()
idf_component_register(SRCS "${srcs}"
INCLUDE_DIRS "${include_dirs}"
PRIV_INCLUDE_DIRS "${priv_include_dirs}"
REQUIRES nvs_flash soc esp_timer esp_pm esp_phy
REQUIRES nvs_flash soc esp_timer esp_pm esp_phy mbedtls
LDFRAGMENTS "linker.lf")
if(CONFIG_BT_ENABLED)

Wyświetl plik

@ -24,19 +24,11 @@ if(${target} STREQUAL "linux")
message(FATAL_ERROR "NVS currently doesn't support encryption if built for Linux.")
endif()
target_compile_options(${COMPONENT_LIB} PUBLIC "-DLINUX_TARGET")
else()
# TODO: this is a workaround until IDF-2085 is fixed
idf_component_get_property(mbedtls_lib mbedtls COMPONENT_LIB)
target_link_libraries(${COMPONENT_LIB} PUBLIC ${mbedtls_lib})
target_compile_options(${COMPONENT_LIB} PUBLIC --coverage)
target_link_libraries(${COMPONENT_LIB} PUBLIC --coverage)
endif()
if(CONFIG_NVS_ENCRYPTION)
target_sources(${COMPONENT_LIB} PRIVATE "src/nvs_encrypted_partition.cpp")
idf_component_get_property(mbedtls_lib mbedtls COMPONENT_LIB)
target_link_libraries(${COMPONENT_LIB} PUBLIC ${mbedtls_lib})
endif()
if(${target} STREQUAL "linux")
target_compile_options(${COMPONENT_LIB} PUBLIC --coverage)
target_link_libraries(${COMPONENT_LIB} PUBLIC --coverage)
target_link_libraries(${COMPONENT_LIB} PRIVATE idf::mbedtls)
endif()

Wyświetl plik

@ -2,3 +2,7 @@ idf_component_register(SRC_DIRS "."
PRIV_INCLUDE_DIRS "."
PRIV_REQUIRES cmock test_utils nvs_flash bootloader_support
EMBED_TXTFILES encryption_keys.bin partition_encrypted.bin sample.bin)
if(CONFIG_NVS_ENCRYPTION)
target_link_libraries(${COMPONENT_LIB} PUBLIC idf::mbedtls)
endif()