blob: e8749a9270ee50ab9fb22dc09a5897e464464398 [file] [log] [blame]
Joel Galenson8a94f512021-06-10 09:38:46 -07001cc_library_static {
2 name: "libring-core",
3 host_supported: true,
4 srcs: [
5 "crypto/cpu-intel.c",
6 "crypto/fipsmodule/aes/aes_nohw.c",
7 "crypto/crypto.c",
8 "crypto/poly1305/poly1305.c",
9 "crypto/poly1305/poly1305_vec.c",
10 "crypto/curve25519/curve25519.c",
11 "crypto/fipsmodule/ec/ecp_nistz.c",
Joel Galenson8a94f512021-06-10 09:38:46 -070012 "crypto/fipsmodule/ec/gfp_p256.c",
13 "crypto/fipsmodule/ec/gfp_p384.c",
Colin Crossf54d13f2023-01-27 11:57:58 -080014 "crypto/fipsmodule/ec/p256.c",
15 "crypto/fipsmodule/rsa/padding.c",
Joel Galenson8a94f512021-06-10 09:38:46 -070016 "crypto/limbs/limbs.c",
17 "crypto/mem.c",
18 "crypto/fipsmodule/bn/montgomery.c",
19 "crypto/fipsmodule/bn/montgomery_inv.c",
20 ],
21
22 arch: {
23 arm: {
24 srcs: [
25 "crypto/poly1305/poly1305_arm.c",
26 "crypto/poly1305/poly1305_arm_asm.S",
27 "pregenerated/armv4-mont-linux32.S",
28 "crypto/curve25519/asm/x25519-asm-arm.S",
29 "pregenerated/sha256-armv4-linux32.S",
30 "pregenerated/sha512-armv4-linux32.S",
Joel Galenson8a94f512021-06-10 09:38:46 -070031 "pregenerated/aesv8-armx-linux32.S",
32 "pregenerated/bsaes-armv7-linux32.S",
33 "pregenerated/ghashv8-armx-linux32.S",
34 "pregenerated/vpaes-armv7-linux32.S",
35 "pregenerated/ghash-armv4-linux32.S",
36 "pregenerated/chacha-armv4-linux32.S",
37 ],
38 },
39 arm64: {
40 srcs: [
41 "pregenerated/aesv8-armx-linux64.S",
42 "pregenerated/armv8-mont-linux64.S",
43 "pregenerated/chacha-armv8-linux64.S",
Joel Galenson8a94f512021-06-10 09:38:46 -070044 "pregenerated/ghash-neon-armv8-linux64.S",
45 "pregenerated/ghashv8-armx-linux64.S",
46 "pregenerated/sha256-armv8-linux64.S",
47 "pregenerated/sha512-armv8-linux64.S",
48 "pregenerated/vpaes-armv8-linux64.S",
49 ],
50 },
51 x86: {
52 srcs: [
53 "pregenerated/aesni-x86-elf.S",
54 "pregenerated/chacha-x86-elf.S",
Joel Galenson8a94f512021-06-10 09:38:46 -070055 "pregenerated/ghash-x86-elf.S",
56 "pregenerated/vpaes-x86-elf.S",
57 "pregenerated/x86-mont-elf.S",
58 ],
59 },
60 x86_64: {
61 srcs: [
Colin Crossf54d13f2023-01-27 11:57:58 -080062 "crypto/fipsmodule/ec/p256-x86_64.c",
Joel Galenson8a94f512021-06-10 09:38:46 -070063 "pregenerated/aesni-gcm-x86_64-elf.S",
64 "pregenerated/aesni-x86_64-elf.S",
65 "pregenerated/chacha-x86_64-elf.S",
Joel Galenson97a97e42021-06-24 10:51:30 -070066 "pregenerated/chacha20_poly1305_x86_64-elf.S",
Joel Galenson8a94f512021-06-10 09:38:46 -070067 "pregenerated/ghash-x86_64-elf.S",
68 "pregenerated/p256-x86_64-asm-elf.S",
69 "pregenerated/sha256-x86_64-elf.S",
70 "pregenerated/sha512-x86_64-elf.S",
71 "pregenerated/vpaes-x86_64-elf.S",
72 "pregenerated/x86_64-mont5-elf.S",
73 "pregenerated/x86_64-mont-elf.S",
74 ],
75 },
Colin Crossf54d13f2023-01-27 11:57:58 -080076 riscv64: {
77 cflags: ["-DOPENSSL_NO_ASM"],
78 },
Joel Galenson8a94f512021-06-10 09:38:46 -070079 },
80
81 cflags: [
82 "-O3",
83 "-Wno-error",
84 "-fPIC",
85 "-fdata-sections",
86 "-ffunction-sections",
87 "-fno-omit-frame-pointer",
88 "-fno-strict-aliasing",
89 "-fstack-protector",
90 "-fvisibility=hidden",
91 "-DNDEBUG",
92 ],
93 local_include_dirs: ["include"],
94 apex_available: [
95 "//apex_available:platform",
96 "com.android.resolv",
97 ],
Matthew Maurer2e55d1d2023-03-07 17:24:43 -080098 vendor_available: true,
99 product_available: true,
Joel Galenson8a94f512021-06-10 09:38:46 -0700100 min_sdk_version: "29",
101}
102
103cc_library_static {
104 name: "libring-test",
105 host_supported: true,
106 srcs: [
107 "crypto/constant_time_test.c",
108 ],
109 local_include_dirs: ["include"],
Luke Huangfce09872021-06-22 19:33:26 +0800110 apex_available: [
111 "//apex_available:platform",
112 "com.android.resolv",
113 ],
Matthew Maurer2e55d1d2023-03-07 17:24:43 -0800114 vendor_available: true,
115 product_available: true,
Luke Huangfce09872021-06-22 19:33:26 +0800116 min_sdk_version: "29",
Colin Crossf54d13f2023-01-27 11:57:58 -0800117}