# component/SConscript Import("env") import os with open(env["PROJECT_TOOL_S"]) as f: exec(f.read()) if "CONFIG_MBEDTLS_COMPONENT_ENABLED" in os.environ: check_component("mbedtls") SRCS = [] INCLUDE = [ADir("../../github_source/mbedtls/include")] PRIVATE_INCLUDE = [ADir("../../github_source/mbedtls/library")] REQUIREMENTS = [] STATIC_LIB = [] DYNAMIC_LIB = [] DEFINITIONS = [] DEFINITIONS_PRIVATE = ["-std=c99", "-O2"] LDFLAGS = [] LINK_SEARCH_PATH = [] if "CONFIG_EVEREST_ENABLED" in os.environ: everest_src = ["everest.c", "x25519.c", "Hacl_Curve25519_joined.c"] _SRCS = [ AFile("../../github_source/mbedtls/3rdparty/everest/library/" + src) for src in everest_src ] _INCLUDE = [] _PRIVATE_INCLUDE = [ ADir("../../github_source/mbedtls/3rdparty/everest/include"), ADir("../../github_source/mbedtls/3rdparty/everest/include/everest"), ADir( "../../github_source/mbedtls/3rdparty/everest/include/everest/kremlib" ), ] _DEFINITIONS_PRIVATE = [] env["COMPONENTS"].append( { "target": "everest", "SRCS": SRCS + _SRCS, "INCLUDE": INCLUDE + _INCLUDE, "PRIVATE_INCLUDE": PRIVATE_INCLUDE + _PRIVATE_INCLUDE, "REQUIREMENTS": REQUIREMENTS, "STATIC_LIB": STATIC_LIB, "DYNAMIC_LIB": DYNAMIC_LIB, "DEFINITIONS": DEFINITIONS, "DEFINITIONS_PRIVATE": DEFINITIONS_PRIVATE + _DEFINITIONS_PRIVATE, "LDFLAGS": LDFLAGS, "LINK_SEARCH_PATH": LINK_SEARCH_PATH, "REGISTER": "static", } ) if "CONFIG_P256M_ENABLED" in os.environ: p256m_src = ["p256-m_driver_entrypoints.c", "p256-m/p256-m.c"] _SRCS = [ AFile("../../github_source/mbedtls/3rdparty/p256-m/" + src) for src in p256m_src ] _INCLUDE = [] _PRIVATE_INCLUDE = [ ADir("../../github_source/mbedtls/3rdparty/p256-m"), ADir("../../github_source/mbedtls/3rdparty/p256-m/p256-m"), ] _DEFINITIONS_PRIVATE = [] env["COMPONENTS"].append( { "target": "p256m", "SRCS": SRCS + _SRCS, "INCLUDE": INCLUDE + _INCLUDE, "PRIVATE_INCLUDE": PRIVATE_INCLUDE + _PRIVATE_INCLUDE, "REQUIREMENTS": REQUIREMENTS, "STATIC_LIB": STATIC_LIB, "DYNAMIC_LIB": DYNAMIC_LIB, "DEFINITIONS": DEFINITIONS, "DEFINITIONS_PRIVATE": DEFINITIONS_PRIVATE + _DEFINITIONS_PRIVATE, "LDFLAGS": LDFLAGS, "LINK_SEARCH_PATH": LINK_SEARCH_PATH, "REGISTER": "static", } ) if "CONFIG_MBEDCRYPTO_ENABLED" in os.environ: mbedcrypto_src = [ "aes.c", "aesni.c", "aesce.c", "aria.c", "asn1parse.c", "asn1write.c", "base64.c", "bignum.c", "bignum_core.c", "bignum_mod.c", "bignum_mod_raw.c", "block_cipher.c", "camellia.c", "ccm.c", "chacha20.c", "chachapoly.c", "cipher.c", "cipher_wrap.c", "constant_time.c", "cmac.c", "ctr_drbg.c", "des.c", "dhm.c", "ecdh.c", "ecdsa.c", "ecjpake.c", "ecp.c", "ecp_curves.c", "ecp_curves_new.c", "entropy.c", "entropy_poll.c", "error.c", "gcm.c", "hkdf.c", "hmac_drbg.c", "lmots.c", "lms.c", "md.c", "md5.c", "memory_buffer_alloc.c", "nist_kw.c", "oid.c", "padlock.c", "pem.c", "pk.c", "pk_ecc.c", "pk_wrap.c", "pkcs12.c", "pkcs5.c", "pkparse.c", "pkwrite.c", "platform.c", "platform_util.c", "poly1305.c", "psa_crypto.c", "psa_crypto_aead.c", "psa_crypto_cipher.c", "psa_crypto_client.c", "psa_crypto_driver_wrappers_no_static.c", "psa_crypto_ecp.c", "psa_crypto_ffdh.c", "psa_crypto_hash.c", "psa_crypto_mac.c", "psa_crypto_pake.c", "psa_crypto_rsa.c", "psa_crypto_se.c", "psa_crypto_slot_management.c", "psa_crypto_storage.c", "psa_its_file.c", "psa_util.c", "ripemd160.c", "rsa.c", "rsa_alt_helpers.c", "sha1.c", "sha256.c", "sha512.c", "sha3.c", "threading.c", "timing.c", "version.c", "version_features.c", ] _SRCS = [ AFile("../../github_source/mbedtls/library/" + src) for src in mbedcrypto_src ] _INCLUDE = [] _DEFINITIONS_PRIVATE = [] env["COMPONENTS"].append( { "target": "mbedcrypto", "SRCS": SRCS + _SRCS, "INCLUDE": INCLUDE + _INCLUDE, "PRIVATE_INCLUDE": PRIVATE_INCLUDE, "REQUIREMENTS": REQUIREMENTS, "STATIC_LIB": STATIC_LIB, "DYNAMIC_LIB": DYNAMIC_LIB, "DEFINITIONS": DEFINITIONS, "DEFINITIONS_PRIVATE": DEFINITIONS_PRIVATE + _DEFINITIONS_PRIVATE, "LDFLAGS": LDFLAGS, "LINK_SEARCH_PATH": LINK_SEARCH_PATH, "REGISTER": "static", } ) if "CONFIG_MBEDX509_ENABLED" in os.environ: mbedx509_src = [ "pkcs7.c", "x509.c", "x509_create.c", "x509_crl.c", "x509_crt.c", "x509_csr.c", "x509write.c", "x509write_crt.c", "x509write_csr.c", ] _SRCS = [ AFile("../../github_source/mbedtls/library/" + src) for src in mbedx509_src ] _INCLUDE = [] _DEFINITIONS_PRIVATE = [] env["COMPONENTS"].append( { "target": "mbedx509", "SRCS": SRCS + _SRCS, "INCLUDE": INCLUDE + _INCLUDE, "PRIVATE_INCLUDE": PRIVATE_INCLUDE, "REQUIREMENTS": REQUIREMENTS, "STATIC_LIB": STATIC_LIB, "DYNAMIC_LIB": DYNAMIC_LIB, "DEFINITIONS": DEFINITIONS, "DEFINITIONS_PRIVATE": DEFINITIONS_PRIVATE + _DEFINITIONS_PRIVATE, "LDFLAGS": LDFLAGS, "LINK_SEARCH_PATH": LINK_SEARCH_PATH, "REGISTER": "static", } ) if "CONFIG_MBEDTLS_ENABLED" in os.environ: mbedtls_src = [ "debug.c", "mps_reader.c", "mps_trace.c", "net_sockets.c", "ssl_cache.c", "ssl_ciphersuites.c", "ssl_client.c", "ssl_cookie.c", "ssl_debug_helpers_generated.c", "ssl_msg.c", "ssl_ticket.c", "ssl_tls.c", "ssl_tls12_client.c", "ssl_tls12_server.c", "ssl_tls13_keys.c", "ssl_tls13_server.c", "ssl_tls13_client.c", "ssl_tls13_generic.c", ] _SRCS = [ AFile("../../github_source/mbedtls/library/" + src) for src in mbedtls_src ] _INCLUDE = [] _DEFINITIONS_PRIVATE = [] env["COMPONENTS"].append( { "target": "mbedtls", "SRCS": SRCS + _SRCS, "INCLUDE": INCLUDE + _INCLUDE, "PRIVATE_INCLUDE": PRIVATE_INCLUDE, "REQUIREMENTS": REQUIREMENTS, "STATIC_LIB": STATIC_LIB, "DYNAMIC_LIB": DYNAMIC_LIB, "DEFINITIONS": DEFINITIONS, "DEFINITIONS_PRIVATE": DEFINITIONS_PRIVATE + _DEFINITIONS_PRIVATE, "LDFLAGS": LDFLAGS, "LINK_SEARCH_PATH": LINK_SEARCH_PATH, "REGISTER": "static", } ) env["COMPONENTS"].append( { "target": os.path.basename(env["component_dir"]), "SRCS": SRCS, "INCLUDE": INCLUDE, "PRIVATE_INCLUDE": PRIVATE_INCLUDE, "REQUIREMENTS": REQUIREMENTS, "STATIC_LIB": STATIC_LIB, "DYNAMIC_LIB": DYNAMIC_LIB, "DEFINITIONS": DEFINITIONS, "DEFINITIONS_PRIVATE": DEFINITIONS_PRIVATE, "LDFLAGS": LDFLAGS, "LINK_SEARCH_PATH": LINK_SEARCH_PATH, "REGISTER": "static", } )