blob: 0bf49a7535324ab74632ca8a71cd6a063542af29 [file] [log] [blame]
David Benjaminfe0c91e2024-03-18 15:37:24 +10001// This file defines BoringSSL's build, expressed in terms of the input source
2// files that BoringSSL developers edit. It is a JSON file with line comments,
3// with line comments removed before parsing. It drives ./util/pregenerate which
4// converts some of those inputs (e.g. perlasm files) into pre-generated
5// outputs. This produces a more simplified build, which is then converted into
6// build files of various syntaxes.
7//
8// When modifying this file, run `go run ./util/pregenerate`. See gen/README.md
9// for more details, and util/pregenerate/build.go for the schema.
10//
11// TODO(crbug.com/boringssl/542): Moving build inputs to this file is still work
12// in progress, so this file is currently incomplete.
13{
14 "bcm": {
15 "perlasm_aarch64": [
16 {"src": "crypto/fipsmodule/aes/asm/aesv8-armx.pl", "dst": "aesv8-armv8"},
17 {"src": "crypto/fipsmodule/modes/asm/aesv8-gcm-armv8.pl"},
18 {"src": "crypto/fipsmodule/bn/asm/armv8-mont.pl"},
19 {"src": "crypto/fipsmodule/bn/asm/bn-armv8.pl"},
20 {"src": "crypto/fipsmodule/modes/asm/ghash-neon-armv8.pl"},
21 {"src": "crypto/fipsmodule/modes/asm/ghashv8-armx.pl", "dst": "ghashv8-armv8"},
22 {"src": "crypto/fipsmodule/ec/asm/p256_beeu-armv8-asm.pl"},
23 {"src": "crypto/fipsmodule/ec/asm/p256-armv8-asm.pl"},
24 {"src": "crypto/fipsmodule/sha/asm/sha1-armv8.pl"},
25 {"src": "crypto/fipsmodule/sha/asm/sha512-armv8.pl", "args": ["sha256"], "dst": "sha256-armv8"},
26 {"src": "crypto/fipsmodule/sha/asm/sha512-armv8.pl", "args": ["sha512"]},
27 {"src": "crypto/fipsmodule/aes/asm/vpaes-armv8.pl"}
28 ],
29 "perlasm_arm": [
30 {"src": "crypto/fipsmodule/aes/asm/aesv8-armx.pl", "dst": "aesv8-armv7"},
31 {"src": "crypto/fipsmodule/bn/asm/armv4-mont.pl"},
32 {"src": "crypto/fipsmodule/aes/asm/bsaes-armv7.pl"},
33 {"src": "crypto/fipsmodule/modes/asm/ghash-armv4.pl"},
34 {"src": "crypto/fipsmodule/modes/asm/ghashv8-armx.pl", "dst": "ghashv8-armv7"},
35 {"src": "crypto/fipsmodule/sha/asm/sha1-armv4-large.pl"},
36 {"src": "crypto/fipsmodule/sha/asm/sha256-armv4.pl"},
37 {"src": "crypto/fipsmodule/sha/asm/sha512-armv4.pl"},
38 {"src": "crypto/fipsmodule/aes/asm/vpaes-armv7.pl"}
39 ],
40 "perlasm_x86": [
41 {"src": "crypto/fipsmodule/aes/asm/aesni-x86.pl"},
42 {"src": "crypto/fipsmodule/bn/asm/bn-586.pl"},
43 {"src": "crypto/fipsmodule/bn/asm/co-586.pl"},
44 {"src": "crypto/fipsmodule/modes/asm/ghash-ssse3-x86.pl"},
45 {"src": "crypto/fipsmodule/modes/asm/ghash-x86.pl"},
46 {"src": "crypto/fipsmodule/md5/asm/md5-586.pl"},
47 {"src": "crypto/fipsmodule/sha/asm/sha1-586.pl"},
48 {"src": "crypto/fipsmodule/sha/asm/sha256-586.pl"},
49 {"src": "crypto/fipsmodule/sha/asm/sha512-586.pl"},
50 {"src": "crypto/fipsmodule/aes/asm/vpaes-x86.pl"},
51 {"src": "crypto/fipsmodule/bn/asm/x86-mont.pl"}
52 ],
53 "perlasm_x86_64": [
54 {"src": "crypto/fipsmodule/modes/asm/aesni-gcm-x86_64.pl"},
55 {"src": "crypto/fipsmodule/aes/asm/aesni-x86_64.pl"},
56 {"src": "crypto/fipsmodule/modes/asm/ghash-ssse3-x86_64.pl"},
57 {"src": "crypto/fipsmodule/modes/asm/ghash-x86_64.pl"},
58 {"src": "crypto/fipsmodule/md5/asm/md5-x86_64.pl"},
59 {"src": "crypto/fipsmodule/ec/asm/p256_beeu-x86_64-asm.pl"},
60 {"src": "crypto/fipsmodule/ec/asm/p256-x86_64-asm.pl"},
61 {"src": "crypto/fipsmodule/rand/asm/rdrand-x86_64.pl"},
62 {"src": "crypto/fipsmodule/bn/asm/rsaz-avx2.pl"},
63 {"src": "crypto/fipsmodule/sha/asm/sha1-x86_64.pl"},
64 {"src": "crypto/fipsmodule/sha/asm/sha512-x86_64.pl", "args": ["sha256"], "dst": "sha256-x86_64"},
65 {"src": "crypto/fipsmodule/sha/asm/sha512-x86_64.pl", "args": ["sha512"]},
66 {"src": "crypto/fipsmodule/aes/asm/vpaes-x86_64.pl"},
67 {"src": "crypto/fipsmodule/bn/asm/x86_64-mont.pl"},
68 {"src": "crypto/fipsmodule/bn/asm/x86_64-mont5.pl"}
69 ]
70 },
71 "crypto": {
72 "err_data": [
73 "crypto/err/asn1.errordata",
74 "crypto/err/bio.errordata",
75 "crypto/err/bn.errordata",
76 "crypto/err/cipher.errordata",
77 "crypto/err/conf.errordata",
78 "crypto/err/dh.errordata",
79 "crypto/err/digest.errordata",
80 "crypto/err/dsa.errordata",
81 "crypto/err/ecdh.errordata",
82 "crypto/err/ecdsa.errordata",
83 "crypto/err/ec.errordata",
84 "crypto/err/engine.errordata",
85 "crypto/err/evp.errordata",
86 "crypto/err/hkdf.errordata",
87 "crypto/err/obj.errordata",
88 "crypto/err/pem.errordata",
89 "crypto/err/pkcs7.errordata",
90 "crypto/err/pkcs8.errordata",
91 "crypto/err/rsa.errordata",
92 "crypto/err/ssl.errordata",
93 "crypto/err/trust_token.errordata",
94 "crypto/err/x509.errordata",
95 "crypto/err/x509v3.errordata"
96 ],
97 "asm": [
98 "crypto/curve25519/asm/x25519-asm-arm.S",
99 "crypto/hrss/asm/poly_rq_mul.S",
100 "crypto/poly1305/poly1305_arm_asm.S",
101 "third_party/fiat/asm/fiat_curve25519_adx_mul.S",
102 "third_party/fiat/asm/fiat_curve25519_adx_square.S",
103 "third_party/fiat/asm/fiat_p256_adx_mul.S",
104 "third_party/fiat/asm/fiat_p256_adx_sqr.S"
105 ],
106 "perlasm_aarch64": [
107 {"src": "crypto/chacha/asm/chacha-armv8.pl"},
108 {"src": "crypto/cipher_extra/asm/chacha20_poly1305_armv8.pl"}
109 ],
110 "perlasm_arm": [
111 {"src": "crypto/chacha/asm/chacha-armv4.pl"}
112 ],
113 "perlasm_x86": [
114 {"src": "crypto/chacha/asm/chacha-x86.pl"}
115 ],
116 "perlasm_x86_64": [
117 {"src": "crypto/chacha/asm/chacha-x86_64.pl"},
118 {"src": "crypto/cipher_extra/asm/aes128gcmsiv-x86_64.pl"},
119 {"src": "crypto/cipher_extra/asm/chacha20_poly1305_x86_64.pl"}
120 ]
121 },
122 "test_support": {
123 "perlasm_aarch64": [
124 {"src": "crypto/test/asm/trampoline-armv8.pl"}
125 ],
126 "perlasm_arm": [
127 {"src": "crypto/test/asm/trampoline-armv4.pl"}
128 ],
129 "perlasm_x86": [
130 {"src": "crypto/test/asm/trampoline-x86.pl"}
131 ],
132 "perlasm_x86_64": [
133 {"src": "crypto/test/asm/trampoline-x86_64.pl"}
134 ]
135 }
136}