1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162 |
- if(CONFIG_MBEDTLS)
- zephyr_interface_library_named(mbedTLS)
- if(CONFIG_MBEDTLS_BUILTIN)
- target_compile_definitions(mbedTLS INTERFACE
- MBEDTLS_CONFIG_FILE="${CONFIG_MBEDTLS_CFG_FILE}"
- )
- zephyr_include_directories(
- ${ZEPHYR_CURRENT_MODULE_DIR}/mbedtls/include
- )
- target_include_directories(mbedTLS INTERFACE
- ${ZEPHYR_CURRENT_MODULE_DIR}/mbedtls/include
- configs
- )
- zephyr_library()
- file(GLOB
- mbedtls_sources # This is an output parameter
- ${ZEPHYR_CURRENT_MODULE_DIR}/mbedtls/library/*.c
- )
- zephyr_library_sources(
- zephyr_init.c
- ${mbedtls_sources}
- )
- zephyr_library_sources_ifdef(CONFIG_MBEDTLS_SHELL shell.c)
- zephyr_library_app_memory(k_mbedtls_partition)
- if(CONFIG_ARCH_POSIX AND CONFIG_ASAN AND NOT CONFIG_64BIT)
- # i386 assembly code used in MBEDTLS does not compile with size optimization
- # if address sanitizer is enabled, as such switch default optimization level
- # to speed
- set_property(SOURCE ${ZEPHYR_CURRENT_MODULE_DIR}/mbedtls/library/bignum.c APPEND PROPERTY COMPILE_OPTIONS
- "${OPTIMIZE_FOR_SPEED_FLAG}")
- endif ()
- zephyr_library_link_libraries(mbedTLS)
- else()
- assert(CONFIG_MBEDTLS_LIBRARY "MBEDTLS was enabled, but neither BUILTIN or LIBRARY was selected.")
- # NB: CONFIG_MBEDTLS_LIBRARY is not regression tested and is
- # therefore susceptible to bit rot
- target_include_directories(mbedTLS INTERFACE
- ${CONFIG_MBEDTLS_INSTALL_PATH}
- )
- zephyr_link_libraries(
- mbedtls_external
- -L${CONFIG_MBEDTLS_INSTALL_PATH}
- gcc
- )
- # Lib mbedtls_external depends on libgcc (I assume?) so to allow
- # mbedtls_external to link with gcc we need to ensure it is placed
- # after mbedtls_external on the linkers command line.
- endif()
- endif()
|