summaryrefslogtreecommitdiff
path: root/modules/mbedtls/SCsub
blob: 4fcbe8fb43bf930d9726389b2822ecb173b1a182 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
#!/usr/bin/env python

Import("env")
Import("env_modules")

env_mbed_tls = env_modules.Clone()

# Thirdparty source files

thirdparty_obj = []

if env["builtin_mbedtls"]:
    thirdparty_sources = [
        "aes.c",
        "aesni.c",
        "arc4.c",
        "aria.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",
        "hkdf.c",
        "hmac_drbg.c",
        "md2.c",
        "md4.c",
        "md5.c",
        "md.c",
        "md_wrap.c",
        "memory_buffer_alloc.c",
        "net_sockets.c",
        "nist_kw.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",
        "threading.c",
        "timing.c",
        "version.c",
        "version_features.c",
        "x509.c",
        "x509_create.c",
        "x509_crl.c",
        "x509_crt.c",
        "x509_csr.c",
        "x509write_crt.c",
        "x509write_csr.c",
        "xtea.c",
    ]

    thirdparty_dir = "#thirdparty/mbedtls/library/"
    thirdparty_sources = [thirdparty_dir + file for file in thirdparty_sources]

    env_mbed_tls.Prepend(CPPPATH=["#thirdparty/mbedtls/include/"])

    env_thirdparty = env_mbed_tls.Clone()
    env_thirdparty.disable_warnings()
    env_thirdparty.add_source_files(thirdparty_obj, thirdparty_sources)
    env.modules_sources += thirdparty_obj


# Godot source files

module_obj = []

env_mbed_tls.add_source_files(module_obj, "*.cpp")

if env["tests"]:
    env_mbed_tls.Append(CPPDEFINES=["TESTS_ENABLED"])
    env_mbed_tls.add_source_files(module_obj, "./tests/*.cpp")

env.modules_sources += module_obj

# Needed to force rebuilding the module files when the thirdparty library is updated.
env.Depends(module_obj, thirdparty_obj)