project('mbedtls', 'c', default_options: ['optimization=2', 'warning_level=0']) add_project_arguments(['-Wno-stringop-overflow'], language: 'c') incl = include_directories('include') libmbedcrypto = library('mbedcrypto', 'library/aes.c', 'library/aesni.c', 'library/arc4.c', 'library/aria.c', 'library/asn1parse.c', 'library/asn1write.c', 'library/base64.c', 'library/bignum.c', 'library/blowfish.c', 'library/camellia.c', 'library/ccm.c', 'library/chacha20.c', 'library/chachapoly.c', 'library/cipher.c', 'library/cipher_wrap.c', 'library/cmac.c', 'library/ctr_drbg.c', 'library/des.c', 'library/dhm.c', 'library/ecdh.c', 'library/ecdsa.c', 'library/ecjpake.c', 'library/ecp.c', 'library/ecp_curves.c', 'library/entropy.c', 'library/entropy_poll.c', 'library/error.c', 'library/gcm.c', 'library/havege.c', 'library/hkdf.c', 'library/hmac_drbg.c', 'library/md.c', 'library/md2.c', 'library/md4.c', 'library/md5.c', 'library/md_wrap.c', 'library/memory_buffer_alloc.c', 'library/oid.c', 'library/padlock.c', 'library/pem.c', 'library/pk.c', 'library/pk_wrap.c', 'library/pkcs12.c', 'library/pkcs5.c', 'library/pkparse.c', 'library/pkwrite.c', 'library/platform.c', 'library/platform_util.c', 'library/poly1305.c', 'library/ripemd160.c', 'library/rsa.c', 'library/rsa_internal.c', 'library/sha1.c', 'library/sha256.c', 'library/sha512.c', 'library/threading.c', 'library/timing.c', 'library/version.c', 'library/version_features.c', 'library/xtea.c', include_directories: incl ) mbedcrypto_dep = declare_dependency( link_with: [libmbedcrypto], include_directories: incl, ) libmbedx509 = library('mbedx509', 'library/certs.c', 'library/pkcs11.c', 'library/x509.c', 'library/x509_create.c', 'library/x509_crl.c', 'library/x509_crt.c', 'library/x509_csr.c', 'library/x509write_crt.c', 'library/x509write_csr.c', include_directories: incl, dependencies: mbedcrypto_dep, ) mbedx509_dep = declare_dependency( link_with: [libmbedx509], include_directories: incl, ) libmbedtls = library('mbedtls', 'library/debug.c', 'library/net_sockets.c', 'library/ssl_cache.c', 'library/ssl_ciphersuites.c', 'library/ssl_cli.c', 'library/ssl_cookie.c', 'library/ssl_srv.c', 'library/ssl_ticket.c', 'library/ssl_tls.c', include_directories: incl, dependencies: [mbedx509_dep, mbedcrypto_dep], ) mbedtls_dep = declare_dependency( link_with: [libmbedtls, libmbedx509, libmbedcrypto], include_directories: incl, )