2018-02-09 15:03:34 +01:00
|
|
|
#!/usr/bin/env python
|
|
|
|
|
2020-03-30 08:28:32 +02:00
|
|
|
Import("env")
|
|
|
|
Import("env_modules")
|
2018-02-09 15:03:34 +01:00
|
|
|
|
|
|
|
env_mbed_tls = env_modules.Clone()
|
|
|
|
|
2020-12-17 16:01:36 +01:00
|
|
|
# Thirdparty source files
|
|
|
|
|
|
|
|
thirdparty_obj = []
|
|
|
|
|
2020-03-30 08:28:32 +02:00
|
|
|
if env["builtin_mbedtls"]:
|
2018-02-10 14:06:38 +01:00
|
|
|
thirdparty_sources = [
|
|
|
|
"aes.c",
|
2023-09-25 05:04:06 +02:00
|
|
|
"aesce.c",
|
2018-02-10 14:06:38 +01:00
|
|
|
"aesni.c",
|
2018-06-07 16:25:01 +02:00
|
|
|
"aria.c",
|
2018-02-10 14:06:38 +01:00
|
|
|
"asn1parse.c",
|
|
|
|
"asn1write.c",
|
|
|
|
"base64.c",
|
|
|
|
"bignum.c",
|
2023-09-25 05:04:06 +02:00
|
|
|
"bignum_core.c",
|
|
|
|
"bignum_mod_raw.c",
|
2018-02-10 14:06:38 +01:00
|
|
|
"camellia.c",
|
|
|
|
"ccm.c",
|
2018-07-28 11:16:41 +02:00
|
|
|
"chacha20.c",
|
|
|
|
"chachapoly.c",
|
2018-02-10 14:06:38 +01:00
|
|
|
"cipher.c",
|
|
|
|
"cipher_wrap.c",
|
|
|
|
"cmac.c",
|
2021-12-21 12:54:05 +01:00
|
|
|
"constant_time.c",
|
2023-09-25 05:04:06 +02:00
|
|
|
"ctr_drbg.c",
|
2018-02-10 14:06:38 +01:00
|
|
|
"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",
|
2018-07-28 11:16:41 +02:00
|
|
|
"hkdf.c",
|
2018-02-10 14:06:38 +01:00
|
|
|
"hmac_drbg.c",
|
|
|
|
"md.c",
|
2023-09-25 05:04:06 +02:00
|
|
|
"md5.c",
|
2018-02-10 14:06:38 +01:00
|
|
|
"memory_buffer_alloc.c",
|
2021-12-21 12:54:05 +01:00
|
|
|
"mps_reader.c",
|
|
|
|
"mps_trace.c",
|
2018-02-10 14:06:38 +01:00
|
|
|
"net_sockets.c",
|
2018-07-28 11:16:41 +02:00
|
|
|
"nist_kw.c",
|
2018-02-10 14:06:38 +01:00
|
|
|
"oid.c",
|
|
|
|
"padlock.c",
|
|
|
|
"pem.c",
|
|
|
|
"pk.c",
|
2023-09-25 05:04:06 +02:00
|
|
|
"pk_ecc.c",
|
|
|
|
"pk_wrap.c",
|
2018-02-10 14:06:38 +01:00
|
|
|
"pkcs12.c",
|
|
|
|
"pkcs5.c",
|
2023-09-25 05:04:06 +02:00
|
|
|
"pkcs7.c",
|
2018-02-10 14:06:38 +01:00
|
|
|
"pkparse.c",
|
|
|
|
"pkwrite.c",
|
|
|
|
"platform.c",
|
2018-06-07 16:25:01 +02:00
|
|
|
"platform_util.c",
|
2018-07-28 11:16:41 +02:00
|
|
|
"poly1305.c",
|
2018-02-10 14:06:38 +01:00
|
|
|
"ripemd160.c",
|
|
|
|
"rsa.c",
|
2023-09-25 05:04:06 +02:00
|
|
|
"rsa_alt_helpers.c",
|
2018-02-10 14:06:38 +01:00
|
|
|
"sha1.c",
|
2023-09-25 05:04:06 +02:00
|
|
|
"sha3.c",
|
2018-02-10 14:06:38 +01:00
|
|
|
"sha256.c",
|
|
|
|
"sha512.c",
|
|
|
|
"ssl_cache.c",
|
|
|
|
"ssl_ciphersuites.c",
|
2023-09-25 05:04:06 +02:00
|
|
|
"ssl_client.c",
|
2018-02-10 14:06:38 +01:00
|
|
|
"ssl_cookie.c",
|
2023-09-25 05:04:06 +02:00
|
|
|
"ssl_debug_helpers_generated.c",
|
2021-12-21 12:54:05 +01:00
|
|
|
"ssl_msg.c",
|
2018-02-10 14:06:38 +01:00
|
|
|
"ssl_ticket.c",
|
|
|
|
"ssl_tls.c",
|
2023-09-25 05:04:06 +02:00
|
|
|
"ssl_tls12_client.c",
|
|
|
|
"ssl_tls12_server.c",
|
|
|
|
"ssl_tls13_client.c",
|
|
|
|
"ssl_tls13_generic.c",
|
2021-12-21 12:54:05 +01:00
|
|
|
"ssl_tls13_keys.c",
|
2023-09-25 05:04:06 +02:00
|
|
|
"ssl_tls13_server.c",
|
2018-02-10 14:06:38 +01:00
|
|
|
"threading.c",
|
|
|
|
"timing.c",
|
|
|
|
"version.c",
|
|
|
|
"version_features.c",
|
|
|
|
"x509.c",
|
|
|
|
"x509_create.c",
|
|
|
|
"x509_crl.c",
|
|
|
|
"x509_crt.c",
|
|
|
|
"x509_csr.c",
|
2023-09-25 05:04:06 +02:00
|
|
|
"x509write.c",
|
2018-02-10 14:06:38 +01:00
|
|
|
"x509write_crt.c",
|
|
|
|
"x509write_csr.c",
|
|
|
|
]
|
2018-02-09 15:03:34 +01:00
|
|
|
|
2018-02-10 14:06:38 +01:00
|
|
|
thirdparty_dir = "#thirdparty/mbedtls/library/"
|
|
|
|
thirdparty_sources = [thirdparty_dir + file for file in thirdparty_sources]
|
2018-09-28 13:29:52 +02:00
|
|
|
|
2018-02-28 19:00:49 +01:00
|
|
|
env_mbed_tls.Prepend(CPPPATH=["#thirdparty/mbedtls/include/"])
|
2024-04-04 16:49:56 +02:00
|
|
|
config_path = "thirdparty/mbedtls/include/godot_module_mbedtls_config.h"
|
|
|
|
config_path = f"<{config_path}>" if env_mbed_tls["ninja"] and env_mbed_tls.msvc else f'\\"{config_path}\\"'
|
|
|
|
env_mbed_tls.Append(CPPDEFINES=[("MBEDTLS_CONFIG_FILE", config_path)])
|
2018-02-09 15:03:34 +01:00
|
|
|
|
2018-09-28 13:29:52 +02:00
|
|
|
env_thirdparty = env_mbed_tls.Clone()
|
|
|
|
env_thirdparty.disable_warnings()
|
2020-12-17 16:01:36 +01:00
|
|
|
env_thirdparty.add_source_files(thirdparty_obj, thirdparty_sources)
|
2023-04-11 15:39:07 +02:00
|
|
|
env_thirdparty.Depends(thirdparty_obj, "#thirdparty/mbedtls/include/godot_module_mbedtls_config.h")
|
2020-12-17 16:01:36 +01:00
|
|
|
env.modules_sources += thirdparty_obj
|
|
|
|
|
|
|
|
|
|
|
|
# Godot source files
|
2018-09-28 13:29:52 +02:00
|
|
|
|
2020-12-17 16:01:36 +01:00
|
|
|
module_obj = []
|
|
|
|
|
|
|
|
env_mbed_tls.add_source_files(module_obj, "*.cpp")
|
2020-11-14 13:42:47 +01:00
|
|
|
|
|
|
|
if env["tests"]:
|
|
|
|
env_mbed_tls.Append(CPPDEFINES=["TESTS_ENABLED"])
|
2020-12-17 16:01:36 +01:00
|
|
|
env_mbed_tls.add_source_files(module_obj, "./tests/*.cpp")
|
|
|
|
|
2024-03-01 08:17:59 +01:00
|
|
|
if env["disable_exceptions"]:
|
|
|
|
env_mbed_tls.Append(CPPDEFINES=["DOCTEST_CONFIG_NO_EXCEPTIONS_BUT_WITH_ALL_ASSERTS"])
|
|
|
|
|
2020-12-17 16:01:36 +01:00
|
|
|
env.modules_sources += module_obj
|
|
|
|
|
|
|
|
# Needed to force rebuilding the module files when the thirdparty library is updated.
|
|
|
|
env.Depends(module_obj, thirdparty_obj)
|