summaryrefslogtreecommitdiff
path: root/patches/Android.bp.diff
blob: ba7a39a58f49f2f9b5253221d78bc49d8c9e0bca (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
120
diff --git a/Android.bp b/Android.bp
index c94eb5c..f8380ad 100644
--- a/Android.bp
+++ b/Android.bp
@@ -20,7 +20,6 @@ rust_library {
     ],
     static_libs: [
         "libring-core",
-        "libring-test",
     ],
 }
 
@@ -49,6 +48,107 @@ rust_defaults {
     ],
 }
 
+cc_library_static {
+    name: "libring-core",
+    host_supported: true,
+    srcs: [
+        "crypto/cpu-intel.c",
+        "crypto/fipsmodule/aes/aes_nohw.c",
+        "crypto/crypto.c",
+        "crypto/poly1305/poly1305.c",
+        "crypto/poly1305/poly1305_vec.c",
+        "crypto/curve25519/curve25519.c",
+        "crypto/fipsmodule/ec/ecp_nistz.c",
+        "crypto/fipsmodule/ec/ecp_nistz256.c",
+        "crypto/fipsmodule/ec/gfp_p256.c",
+        "crypto/fipsmodule/ec/gfp_p384.c",
+        "crypto/limbs/limbs.c",
+        "crypto/mem.c",
+        "crypto/fipsmodule/bn/montgomery.c",
+        "crypto/fipsmodule/bn/montgomery_inv.c",
+    ],
+
+    arch: {
+        arm: {
+            srcs: [
+                "crypto/poly1305/poly1305_arm.c",
+                "crypto/poly1305/poly1305_arm_asm.S",
+                "pregenerated/armv4-mont-linux32.S",
+                "crypto/curve25519/asm/x25519-asm-arm.S",
+                "pregenerated/sha256-armv4-linux32.S",
+                "pregenerated/sha512-armv4-linux32.S",
+                "pregenerated/ecp_nistz256-armv4-linux32.S",
+                "pregenerated/aesv8-armx-linux32.S",
+                "pregenerated/bsaes-armv7-linux32.S",
+                "pregenerated/ghashv8-armx-linux32.S",
+                "pregenerated/vpaes-armv7-linux32.S",
+                "pregenerated/ghash-armv4-linux32.S",
+                "pregenerated/chacha-armv4-linux32.S",
+            ],
+        },
+        arm64: {
+            srcs: [
+                "pregenerated/aesv8-armx-linux64.S",
+                "pregenerated/armv8-mont-linux64.S",
+                "pregenerated/chacha-armv8-linux64.S",
+                "pregenerated/ecp_nistz256-armv8-linux64.S",
+                "pregenerated/ghash-neon-armv8-linux64.S",
+                "pregenerated/ghashv8-armx-linux64.S",
+                "pregenerated/sha256-armv8-linux64.S",
+                "pregenerated/sha512-armv8-linux64.S",
+                "pregenerated/vpaes-armv8-linux64.S",
+            ],
+        },
+        x86: {
+            srcs: [
+                "pregenerated/aesni-x86-elf.S",
+                "pregenerated/chacha-x86-elf.S",
+                "pregenerated/ecp_nistz256-x86-elf.S",
+                "pregenerated/ghash-x86-elf.S",
+                "pregenerated/vpaes-x86-elf.S",
+                "pregenerated/x86-mont-elf.S",
+            ],
+        },
+        x86_64: {
+            srcs: [
+                "pregenerated/aesni-gcm-x86_64-elf.S",
+                "pregenerated/aesni-x86_64-elf.S",
+                "pregenerated/chacha-x86_64-elf.S",
+                "pregenerated/ghash-x86_64-elf.S",
+                "pregenerated/p256-x86_64-asm-elf.S",
+                "pregenerated/sha256-x86_64-elf.S",
+                "pregenerated/sha512-x86_64-elf.S",
+                "pregenerated/vpaes-x86_64-elf.S",
+                "pregenerated/x86_64-mont5-elf.S",
+                "pregenerated/x86_64-mont-elf.S",
+            ],
+        },
+    },
+
+    cflags: [
+        "-O3",
+        "-Wno-error",
+        "-fPIC",
+        "-fdata-sections",
+        "-ffunction-sections",
+        "-fno-omit-frame-pointer",
+        "-fno-strict-aliasing",
+        "-fstack-protector",
+        "-fvisibility=hidden",
+        "-DNDEBUG",
+    ],
+    local_include_dirs: ["include"],
+}
+
+cc_library_static {
+    name: "libring-test",
+    host_supported: true,
+    srcs: [
+        "crypto/constant_time_test.c",
+    ],
+    local_include_dirs: ["include"],
+}
+
 rust_test_host {
     name: "ring_host_test_src_lib",
     defaults: ["ring_defaults"],