aboutsummaryrefslogtreecommitdiff
path: root/patches/Android.bp.patch
blob: a4db82e43479c087ad345a3dcd51fd594598809f (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
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
diff --git a/Android.bp b/Android.bp
index a3f7464..d398440 100644
--- a/Android.bp
+++ b/Android.bp
@@ -1,74 +1,55 @@
 // This file is generated by cargo2android.py --run --device --dependencies --tests --patch=patches/Android.bp.patch.
 
-rust_ffi_shared {
-    name: "libquiche_shared",
-    stem: "libquiche",
-    host_supported: true,
-    crate_name: "quiche",
-    srcs: ["src/lib.rs"],
-    edition: "2018",
-    features: [
-        "boringssl-vendored",
-        "default",
-    ],
-    rustlibs: [
-        "liblazy_static",
-        "liblibc",
-        "liblibm",
-        "liblog_rust",
-        "libring",
-    ],
-    static_libs: [
-        "libcrypto",
-        "libssl",
+cc_library_headers {
+    name: "libquiche_ffi_headers",
+    export_include_dirs: ["include"],
+    apex_available: [
+        "//apex_available:platform",
+        "com.android.resolv",
     ],
+    min_sdk_version: "29",
 }
 
-rust_library {
-    name: "libquiche",
+rust_defaults {
+    name: "libquiche_defaults",
+    stem: "libquiche",
     host_supported: true,
     crate_name: "quiche",
     srcs: ["src/lib.rs"],
     edition: "2018",
     features: [
-        "boringssl-vendored",
+        "boringssl",
         "default",
     ],
-    rustlibs: [
+    // Link all crates statically to create a self-contained .so library.
+    rlibs: [
         "liblazy_static",
         "liblibc",
         "liblibm",
         "liblog_rust",
         "libring",
     ],
-    static_libs: [
+    prefer_rlib: true,
+    shared_libs: [
         "libcrypto",
         "libssl",
     ],
+    // For DnsResolver (Mainline module introduced in Q).
+    apex_available: [
+        "//apex_available:platform",
+        "com.android.resolv",
+    ],
+    min_sdk_version: "29",
 }
 
-rust_ffi_static {
-    name: "libquiche_static",
-    stem: "libquiche",
-    host_supported: true,
-    crate_name: "quiche",
-    srcs: ["src/lib.rs"],
-    edition: "2018",
-    features: [
-        "boringssl-vendored",
-        "default",
-    ],
-    rustlibs: [
-        "liblazy_static",
-        "liblibc",
-        "liblibm",
-        "liblog_rust",
-        "libring",
-    ],
-    static_libs: [
-        "libcrypto",
-        "libssl",
-    ],
+rust_ffi {
+    name: "libquiche_ffi",
+    defaults: ["libquiche_defaults"],
+}
+
+rust_library {
+    name: "libquiche",
+    defaults: ["libquiche_defaults"],
 }
 
 rust_defaults {
@@ -79,7 +60,7 @@ rust_defaults {
     auto_gen_config: true,
     edition: "2018",
     features: [
-        "boringssl-vendored",
+        "boringssl",
         "default",
     ],
     rustlibs: [
@@ -91,10 +72,16 @@ rust_defaults {
         "libring",
         "liburl",
     ],
-    static_libs: [
+    shared_libs: [
         "libcrypto",
         "libssl",
     ],
+    data: [
+        "examples/cert.crt",
+        "examples/cert.key",
+        "examples/cert-big.crt",
+        "examples/rootca.crt",
+    ]
 }
 
 rust_test_host {