aboutsummaryrefslogtreecommitdiff
path: root/patches/Android.bp.patch
blob: 28dd4c8361cdf9330ee578a42cdff8b88d67f031 (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
--- Android.bp	2020-12-14 20:39:12.756511927 +0900
+++ Android.bp.new	2020-12-14 20:27:28.268899533 +0900
@@ -1,74 +1,48 @@
 // This file is generated by cargo2android.py --run --device --dependencies --patch=patches/Android.bp.patch.
 
-rust_library_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_ffi {
+    name: "libquiche_ffi",
+    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",
     ],
-}
 
-rust_library_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",
+    // For DnsResolver (Mainline module introduced in Q).
+    apex_available: [
+        "//apex_available:platform",
+        "com.android.resolv",
     ],
+    min_sdk_version: "29",
 }
 
 // dependent_library ["feature_list"]