summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDamien George <damien.p.george@gmail.com>2019-06-05 15:22:21 +1000
committerDamien George <damien.p.george@gmail.com>2019-06-05 15:22:21 +1000
commit678ec182cd4d9b800ed22a98f0a1eb00b5e85aa6 (patch)
tree0a981e57b89e3187e94cb07be5a79c2a975a9061
parent399417adbae831ba660cfcad3d75e2d5dab756ef (diff)
extmod/extmod.mk: Integrate mbedTLS so it is built from source.
Setting MICROPY_PY_USSL and MICROPY_SSL_MBEDTLS at the Makefile-level will now build mbedTLS from source and include it in the build, with the ussl module using this TLS library. Extra settings like MBEDTLS_CONFIG_FILE may need to be provided by a given port. If a port wants to use its own mbedTLS library then it should not set MICROPY_SSL_MBEDTLS at the Makefile-level but rather set it at the C level, and provide the library as part of the build in its own way (see eg esp32 port).
-rw-r--r--extmod/extmod.mk79
1 files changed, 75 insertions, 4 deletions
diff --git a/extmod/extmod.mk b/extmod/extmod.mk
index 2143058f8..909952cc2 100644
--- a/extmod/extmod.mk
+++ b/extmod/extmod.mk
@@ -28,10 +28,81 @@ SRC_MOD += $(addprefix $(AXTLS_DIR)/,\
crypto/sha1.c \
)
else ifeq ($(MICROPY_SSL_MBEDTLS),1)
-# Can be overridden by ports which have "builtin" mbedTLS
-MICROPY_SSL_MBEDTLS_INCLUDE ?= $(TOP)/lib/mbedtls/include
-CFLAGS_MOD += -DMICROPY_SSL_MBEDTLS=1 -I$(MICROPY_SSL_MBEDTLS_INCLUDE)
-LDFLAGS_MOD += -L$(TOP)/lib/mbedtls/library -lmbedx509 -lmbedtls -lmbedcrypto
+MBEDTLS_DIR = lib/mbedtls
+CFLAGS_MOD += -DMICROPY_SSL_MBEDTLS=1 -I$(TOP)/$(MBEDTLS_DIR)/include
+SRC_MOD += $(addprefix $(MBEDTLS_DIR)/library/,\
+ aes.c \
+ aesni.c \
+ arc4.c \
+ asn1parse.c \
+ asn1write.c \
+ base64.c \
+ bignum.c \
+ blowfish.c \
+ camellia.c \
+ ccm.c \
+ certs.c \
+ chacha20.c \
+ chachapoly.c \
+ cipher.c \
+ cipher_wrap.c \
+ cmac.c \
+ ctr_drbg.c \
+ debug.c \
+ des.c \
+ dhm.c \
+ ecdh.c \
+ ecdsa.c \
+ ecjpake.c \
+ ecp.c \
+ ecp_curves.c \
+ entropy.c \
+ entropy_poll.c \
+ error.c \
+ gcm.c \
+ havege.c \
+ hmac_drbg.c \
+ md2.c \
+ md4.c \
+ md5.c \
+ md.c \
+ md_wrap.c \
+ oid.c \
+ padlock.c \
+ pem.c \
+ pk.c \
+ pkcs11.c \
+ pkcs12.c \
+ pkcs5.c \
+ pkparse.c \
+ pk_wrap.c \
+ pkwrite.c \
+ platform.c \
+ platform_util.c \
+ poly1305.c \
+ ripemd160.c \
+ rsa.c \
+ rsa_internal.c \
+ sha1.c \
+ sha256.c \
+ sha512.c \
+ ssl_cache.c \
+ ssl_ciphersuites.c \
+ ssl_cli.c \
+ ssl_cookie.c \
+ ssl_srv.c \
+ ssl_ticket.c \
+ ssl_tls.c \
+ timing.c \
+ x509.c \
+ x509_create.c \
+ x509_crl.c \
+ x509_crt.c \
+ x509_csr.c \
+ x509write_crt.c \
+ x509write_csr.c \
+ xtea.c \
+ )
endif
endif