@@ -40,7 +40,6 @@ set(src_crypto
4040 asn1parse.c
4141 asn1write.c
4242 base64.c
43- bignum.c
4443 blowfish.c
4544 camellia.c
4645 ccm.c
@@ -90,20 +89,21 @@ set(src_crypto
9089 version .c
9190 version_features.c
9291 xtea.c
93-
92+
9493)
9594
9695if (NOT RTOS_ESP32_CHECK)
9796 # platform implementation of hardware random provider
9897 list (APPEND src_crypto mbedtls_entropy_hardware_pool.c)
98+ list (APPEND src_crypto bignum.c)
9999endif ()
100100
101101foreach (SRC_FILE ${src_crypto} )
102102
103103 set (MBEDTLS_SRC_FILE SRC_FILE -NOTFOUND )
104104
105105 find_file (MBEDTLS_SRC_FILE ${SRC_FILE}
106- PATHS
106+ PATHS
107107 ${mbedtls_SOURCE_DIR} /library
108108
109109 ${BASE_PATH_FOR_CLASS_LIBRARIES_MODULES} /
@@ -119,6 +119,10 @@ foreach(SRC_FILE ${src_crypto})
119119
120120endforeach ()
121121
122+ if (RTOS_ESP32_CHECK)
123+ list (APPEND mbedTLS_SOURCES ${esp32_idf_SOURCE_DIR} /components/mbedtls/mbedtls/library/bignum.c)
124+ endif ()
125+
122126# unset this warning as error required for this source file
123127SET_SOURCE_FILES_PROPERTIES ( ${mbedtls_SOURCE_DIR} /library/hmac_drbg.c PROPERTIES COMPILE_FLAGS -Wno-maybe-uninitialized)
124128SET_SOURCE_FILES_PROPERTIES ( ${mbedtls_SOURCE_DIR} /library/x509_crt.c PROPERTIES COMPILE_FLAGS -Wno-maybe-uninitialized)
@@ -140,7 +144,7 @@ foreach(SRC_FILE ${src_x509})
140144 set (MBEDTLS_SRC_FILE SRC_FILE -NOTFOUND )
141145
142146 find_file (MBEDTLS_SRC_FILE ${SRC_FILE}
143- PATHS
147+ PATHS
144148 ${mbedtls_SOURCE_DIR} /library
145149
146150 CMAKE_FIND_ROOT_PATH_BOTH
@@ -172,7 +176,7 @@ foreach(SRC_FILE ${src_tls})
172176 set (MBEDTLS_SRC_FILE SRC_FILE -NOTFOUND )
173177
174178 find_file (MBEDTLS_SRC_FILE ${SRC_FILE}
175- PATHS
179+ PATHS
176180 ${mbedtls_SOURCE_DIR} /library
177181
178182 CMAKE_FIND_ROOT_PATH_BOTH
@@ -193,7 +197,6 @@ if(RTOS_ESP32_CHECK)
193197 set (src_platform_specific
194198
195199 mbedtls_debug.c
196-
197200 esp_hardware.c
198201 esp_mem.c
199202 esp_timing.c
@@ -202,14 +205,45 @@ if(RTOS_ESP32_CHECK)
202205 esp_aes_common.c
203206 esp_aes.c
204207 sha.c
205- esp_bignum.c
206- bignum.c
207208 esp_sha1.c
208209 esp_sha256.c
209210 esp_sha512.c
210211 esp_md.c
211212 )
212-
213+
214+ foreach (SRC_FILE ${src_platform_specific} )
215+
216+ set (MBEDTLS_SRC_FILE SRC_FILE -NOTFOUND )
217+
218+ find_file (MBEDTLS_SRC_FILE ${SRC_FILE}
219+ PATHS
220+
221+ ${esp32_idf_SOURCE_DIR} /components/mbedtls/port
222+ ${esp32_idf_SOURCE_DIR} /components/mbedtls/port/sha/parallel_engine
223+ ${esp32_idf_SOURCE_DIR} /components/mbedtls/port/sha/
224+ ${esp32_idf_SOURCE_DIR} /components/mbedtls/port/aes
225+ ${esp32_idf_SOURCE_DIR} /components/mbedtls/port/aes/block
226+
227+ ${esp32_idf_SOURCE_DIR} /components/mbedtls/port/md
228+
229+ ${CMAKE_SOURCE_DIR} /targets/ESP32/_IDF
230+
231+ CMAKE_FIND_ROOT_PATH_BOTH
232+ )
233+
234+ if (BUILD_VERBOSE)
235+ message ("${SRC_FILE} >> ${MBEDTLS_SRC_FILE} " )
236+ endif ()
237+
238+ list (APPEND mbedTLS_SOURCES ${MBEDTLS_SRC_FILE} )
239+
240+ endforeach ()
241+
242+ if (CONFIG_MBEDTLS_HARDWARE_MPI)
243+ list (APPEND mbedTLS_SOURCES ${esp32_idf_SOURCE_DIR} /components/mbedtls/port/esp_bignum.c)
244+ list (APPEND src_platform_specific ${esp32_idf_SOURCE_DIR} /components/mbedtls/port/${TARGET_SERIES_SHORT} /bignum.c)
245+ endif ()
246+
213247else ()
214248
215249 # other platforms use the official sources
@@ -219,23 +253,13 @@ else()
219253 net_sockets.c
220254 )
221255
222- endif ()
223-
224- foreach (SRC_FILE ${src_platform_specific} )
256+ foreach (SRC_FILE ${src_platform_specific} )
225257
226258 set (MBEDTLS_SRC_FILE SRC_FILE -NOTFOUND )
227259
228260 find_file (MBEDTLS_SRC_FILE ${SRC_FILE}
229261 PATHS
230262
231- ${esp32_idf_SOURCE_DIR} /components/mbedtls/port
232- ${esp32_idf_SOURCE_DIR} /components/mbedtls/port/sha/parallel_engine
233- ${esp32_idf_SOURCE_DIR} /components/mbedtls/port/sha/
234- ${esp32_idf_SOURCE_DIR} /components/mbedtls/port/aes
235- ${esp32_idf_SOURCE_DIR} /components/mbedtls/port/aes/block
236- ${esp32_idf_SOURCE_DIR} /components/mbedtls/port/${TARGET_SERIES_SHORT}
237- ${esp32_idf_SOURCE_DIR} /components/mbedtls/port/md
238-
239263 ${mbedtls_SOURCE_DIR} /library
240264
241265 CMAKE_FIND_ROOT_PATH_BOTH
@@ -247,7 +271,9 @@ foreach(SRC_FILE ${src_platform_specific})
247271
248272 list (APPEND mbedTLS_SOURCES ${MBEDTLS_SRC_FILE} )
249273
250- endforeach ()
274+ endforeach ()
275+
276+ endif ()
251277
252278include (FindPackageHandleStandardArgs)
253279
0 commit comments