libmbedtls: configure and compile mbedtls
Configures mbedtls with a minimal user mode TA configuration and makes
it compile.
Adds dummy include/mbedtls_config_kernel.h to give a good error message
in case mbedTLS is compiled in for kernel mode.
mbedTLS is enabled for TAs with CFG_TA_MBEDTLS = y
Builtin self tests are enabled with CFG_TA_MBEDTLS_SELF_TEST = y
Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
diff --git a/ta/ta.mk b/ta/ta.mk
index 13e086c..7135db5 100644
--- a/ta/ta.mk
+++ b/ta/ta.mk
@@ -12,6 +12,10 @@
# Config flags from mk/config.mk
#
+ifeq ($(CFG_TA_MBEDTLS_SELF_TEST),y)
+$(sm)-platform-cppflags += -DMBEDTLS_SELF_TEST
+endif
+
ifeq ($(CFG_TEE_TA_MALLOC_DEBUG),y)
# Build malloc debug code into libutils: (mdbg_malloc(), mdbg_free(),
# mdbg_check(), etc.).
@@ -22,6 +26,8 @@
ta-mk-file-export-vars-$(sm) += CFG_TA_FLOAT_SUPPORT
ta-mk-file-export-vars-$(sm) += CFG_CACHE_API
ta-mk-file-export-vars-$(sm) += CFG_SECURE_DATA_PATH
+ta-mk-file-export-vars-$(sm) += CFG_TA_MBEDTLS_SELF_TEST
+ta-mk-file-export-vars-$(sm) += CFG_TA_MBEDTLS
# Expand platform flags here as $(sm) will change if we have several TA
# targets. Platform flags should not change after inclusion of ta/ta.mk.
@@ -48,6 +54,13 @@
libdir = lib/libutee
include mk/lib.mk
+ifeq ($(CFG_TA_MBEDTLS),y)
+libname = mbedtls
+libdir = lib/libmbedtls
+include mk/lib.mk
+ta-mk-file-export-vars-$(sm) += CFG_TA_MBEDTLS
+endif
+
base-prefix :=
incdirs-host := $(filter-out lib/libutils%, $(incdirs$(sm)))