Files
2025-03-17 11:29:50 +08:00

283 lines
8.9 KiB
Python

# 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",
}
)