blob: 29d05c602ff762705fb49a58277ae9dac1aed790 [file] [log] [blame]
// This file defines BoringSSL's build, expressed in terms of the input source
// files that BoringSSL developers edit. It is a JSON file with line comments,
// with line comments removed before parsing. It drives ./util/pregenerate which
// converts some of those inputs (e.g. perlasm files) into pre-generated
// outputs. This produces a more simplified build, which is then converted into
// build files of various syntaxes.
//
// When modifying this file, run `go run ./util/pregenerate`. See gen/README.md
// for more details, and util/pregenerate/build.go for the schema.
//
// TODO(crbug.com/boringssl/542): Moving build inputs to this file is still work
// in progress, so this file is currently incomplete.
{
"bcm": {
"perlasm_aarch64": [
{"src": "crypto/fipsmodule/aes/asm/aesv8-armx.pl", "dst": "aesv8-armv8"},
{"src": "crypto/fipsmodule/modes/asm/aesv8-gcm-armv8.pl"},
{"src": "crypto/fipsmodule/bn/asm/armv8-mont.pl"},
{"src": "crypto/fipsmodule/bn/asm/bn-armv8.pl"},
{"src": "crypto/fipsmodule/modes/asm/ghash-neon-armv8.pl"},
{"src": "crypto/fipsmodule/modes/asm/ghashv8-armx.pl", "dst": "ghashv8-armv8"},
{"src": "crypto/fipsmodule/ec/asm/p256_beeu-armv8-asm.pl"},
{"src": "crypto/fipsmodule/ec/asm/p256-armv8-asm.pl"},
{"src": "crypto/fipsmodule/sha/asm/sha1-armv8.pl"},
{"src": "crypto/fipsmodule/sha/asm/sha512-armv8.pl", "args": ["sha256"], "dst": "sha256-armv8"},
{"src": "crypto/fipsmodule/sha/asm/sha512-armv8.pl", "args": ["sha512"]},
{"src": "crypto/fipsmodule/aes/asm/vpaes-armv8.pl"}
],
"perlasm_arm": [
{"src": "crypto/fipsmodule/aes/asm/aesv8-armx.pl", "dst": "aesv8-armv7"},
{"src": "crypto/fipsmodule/bn/asm/armv4-mont.pl"},
{"src": "crypto/fipsmodule/aes/asm/bsaes-armv7.pl"},
{"src": "crypto/fipsmodule/modes/asm/ghash-armv4.pl"},
{"src": "crypto/fipsmodule/modes/asm/ghashv8-armx.pl", "dst": "ghashv8-armv7"},
{"src": "crypto/fipsmodule/sha/asm/sha1-armv4-large.pl"},
{"src": "crypto/fipsmodule/sha/asm/sha256-armv4.pl"},
{"src": "crypto/fipsmodule/sha/asm/sha512-armv4.pl"},
{"src": "crypto/fipsmodule/aes/asm/vpaes-armv7.pl"}
],
"perlasm_x86": [
{"src": "crypto/fipsmodule/aes/asm/aesni-x86.pl"},
{"src": "crypto/fipsmodule/bn/asm/bn-586.pl"},
{"src": "crypto/fipsmodule/bn/asm/co-586.pl"},
{"src": "crypto/fipsmodule/modes/asm/ghash-ssse3-x86.pl"},
{"src": "crypto/fipsmodule/modes/asm/ghash-x86.pl"},
{"src": "crypto/fipsmodule/md5/asm/md5-586.pl"},
{"src": "crypto/fipsmodule/sha/asm/sha1-586.pl"},
{"src": "crypto/fipsmodule/sha/asm/sha256-586.pl"},
{"src": "crypto/fipsmodule/sha/asm/sha512-586.pl"},
{"src": "crypto/fipsmodule/aes/asm/vpaes-x86.pl"},
{"src": "crypto/fipsmodule/bn/asm/x86-mont.pl"}
],
"perlasm_x86_64": [
{"src": "crypto/fipsmodule/modes/asm/aesni-gcm-x86_64.pl"},
{"src": "crypto/fipsmodule/aes/asm/aesni-x86_64.pl"},
{"src": "crypto/fipsmodule/modes/asm/ghash-ssse3-x86_64.pl"},
{"src": "crypto/fipsmodule/modes/asm/ghash-x86_64.pl"},
{"src": "crypto/fipsmodule/md5/asm/md5-x86_64.pl"},
{"src": "crypto/fipsmodule/ec/asm/p256_beeu-x86_64-asm.pl"},
{"src": "crypto/fipsmodule/ec/asm/p256-x86_64-asm.pl"},
{"src": "crypto/fipsmodule/rand/asm/rdrand-x86_64.pl"},
{"src": "crypto/fipsmodule/bn/asm/rsaz-avx2.pl"},
{"src": "crypto/fipsmodule/sha/asm/sha1-x86_64.pl"},
{"src": "crypto/fipsmodule/sha/asm/sha512-x86_64.pl", "args": ["sha256"], "dst": "sha256-x86_64"},
{"src": "crypto/fipsmodule/sha/asm/sha512-x86_64.pl", "args": ["sha512"]},
{"src": "crypto/fipsmodule/aes/asm/vpaes-x86_64.pl"},
{"src": "crypto/fipsmodule/bn/asm/x86_64-mont.pl"},
{"src": "crypto/fipsmodule/bn/asm/x86_64-mont5.pl"}
]
},
"crypto": {
"err_data": [
"crypto/err/*.errordata"
],
"asm": [
"crypto/curve25519/asm/x25519-asm-arm.S",
"crypto/hrss/asm/poly_rq_mul.S",
"crypto/poly1305/poly1305_arm_asm.S",
"third_party/fiat/asm/fiat_curve25519_adx_mul.S",
"third_party/fiat/asm/fiat_curve25519_adx_square.S",
"third_party/fiat/asm/fiat_p256_adx_mul.S",
"third_party/fiat/asm/fiat_p256_adx_sqr.S"
],
"perlasm_aarch64": [
{"src": "crypto/chacha/asm/chacha-armv8.pl"},
{"src": "crypto/cipher_extra/asm/chacha20_poly1305_armv8.pl"}
],
"perlasm_arm": [
{"src": "crypto/chacha/asm/chacha-armv4.pl"}
],
"perlasm_x86": [
{"src": "crypto/chacha/asm/chacha-x86.pl"}
],
"perlasm_x86_64": [
{"src": "crypto/chacha/asm/chacha-x86_64.pl"},
{"src": "crypto/cipher_extra/asm/aes128gcmsiv-x86_64.pl"},
{"src": "crypto/cipher_extra/asm/chacha20_poly1305_x86_64.pl"}
]
},
"test_support": {
"perlasm_aarch64": [
{"src": "crypto/test/asm/trampoline-armv8.pl"}
],
"perlasm_arm": [
{"src": "crypto/test/asm/trampoline-armv4.pl"}
],
"perlasm_x86": [
{"src": "crypto/test/asm/trampoline-x86.pl"}
],
"perlasm_x86_64": [
{"src": "crypto/test/asm/trampoline-x86_64.pl"}
]
}
}