blob: 738d16ac661eb97eda956fe025ae37ffe7d76d6a [file] [log] [blame]
Bob Badour3c538232021-02-12 21:26:48 -08001package {
2 // See: http://go/android-license-faq
3 // A large-scale-change added 'default_applicable_licenses' to import
4 // all of the 'license_kinds' from "frameworks_native_license"
5 // to get the below license kinds:
6 // SPDX-license-identifier-Apache-2.0
7 default_applicable_licenses: ["frameworks_native_license"],
8}
9
Stephen Crane2a3c2502020-06-16 17:48:35 -070010rust_library {
11 name: "libbinder_rs",
12 crate_name: "binder",
13 srcs: ["src/lib.rs"],
14 shared_libs: [
Stephen Crane2a3c2502020-06-16 17:48:35 -070015 "libutils",
16 ],
17 rustlibs: [
Stephen Crane994a0f02020-08-11 14:47:29 -070018 "libbinder_ndk_sys",
Andrei Homescuea406212021-09-03 02:55:00 +000019 "libdowncast_rs",
Andrew Walbran7b0be1f2022-08-04 16:47:46 +000020 "liblazy_static",
21 "liblibc",
Stephen Crane994a0f02020-08-11 14:47:29 -070022 ],
23 host_supported: true,
Janis Danisevskis1323d512021-11-09 07:48:08 -080024 vendor_available: true,
Yifan Hongf856a982020-10-30 14:51:17 -070025 target: {
26 darwin: {
27 enabled: false,
ziyiwfe1cc952021-12-03 00:07:58 +000028 },
Jiyong Parkb1af7832021-02-16 13:30:57 +090029 },
30 apex_available: [
31 "//apex_available:platform",
Victor Hsieh7d7de5b2021-05-10 16:28:54 -070032 "com.android.compos",
Vikram Gaur38a4b0f2022-09-16 01:44:10 +000033 "com.android.rkpd",
ziyiwfe1cc952021-12-03 00:07:58 +000034 "com.android.uwb",
Jiyong Parkb1af7832021-02-16 13:30:57 +090035 "com.android.virt",
36 ],
Roshan Piusbf42e372022-01-20 18:55:59 +000037 min_sdk_version: "Tiramisu",
Stephen Crane994a0f02020-08-11 14:47:29 -070038}
39
40rust_library {
Alice Ryhl05f5a2c2021-09-15 12:56:10 +000041 name: "libbinder_tokio_rs",
42 crate_name: "binder_tokio",
43 srcs: ["binder_tokio/lib.rs"],
44 rustlibs: [
45 "libbinder_rs",
46 "libtokio",
47 ],
48 host_supported: true,
Matthew Maurer88e713a2022-01-14 22:15:38 +000049 vendor_available: true,
Alice Ryhl05f5a2c2021-09-15 12:56:10 +000050 target: {
51 darwin: {
52 enabled: false,
ziyiwfe1cc952021-12-03 00:07:58 +000053 },
Alice Ryhl05f5a2c2021-09-15 12:56:10 +000054 },
55 apex_available: [
56 "//apex_available:platform",
57 "com.android.compos",
Matthew Maurer88e713a2022-01-14 22:15:38 +000058 "com.android.uwb",
Alice Ryhl05f5a2c2021-09-15 12:56:10 +000059 "com.android.virt",
60 ],
Matthew Maurer88e713a2022-01-14 22:15:38 +000061 min_sdk_version: "Tiramisu",
Alice Ryhl05f5a2c2021-09-15 12:56:10 +000062}
63
64rust_library {
Stephen Crane994a0f02020-08-11 14:47:29 -070065 name: "libbinder_ndk_sys",
66 crate_name: "binder_ndk_sys",
67 srcs: [
68 "sys/lib.rs",
69 ":libbinder_ndk_bindgen",
70 ],
71 shared_libs: [
72 "libbinder_ndk",
Stephen Crane2a3c2502020-06-16 17:48:35 -070073 ],
74 host_supported: true,
Janis Danisevskis1323d512021-11-09 07:48:08 -080075 vendor_available: true,
Yifan Hongf856a982020-10-30 14:51:17 -070076 target: {
77 darwin: {
78 enabled: false,
ziyiwfe1cc952021-12-03 00:07:58 +000079 },
Jiyong Parkb1af7832021-02-16 13:30:57 +090080 },
81 apex_available: [
82 "//apex_available:platform",
Victor Hsieh7d7de5b2021-05-10 16:28:54 -070083 "com.android.compos",
Vikram Gaur38a4b0f2022-09-16 01:44:10 +000084 "com.android.rkpd",
ziyiwfe1cc952021-12-03 00:07:58 +000085 "com.android.uwb",
Jiyong Parkb1af7832021-02-16 13:30:57 +090086 "com.android.virt",
87 ],
Roshan Piusbf42e372022-01-20 18:55:59 +000088 min_sdk_version: "Tiramisu",
ThiƩbaud Weksteen3160ce92021-04-29 20:54:39 +020089 lints: "none",
90 clippy_lints: "none",
Steven Moreland42548a02022-10-24 19:57:03 +000091 visibility: [":__subpackages__"],
Stephen Crane2a3c2502020-06-16 17:48:35 -070092}
93
94rust_bindgen {
95 name: "libbinder_ndk_bindgen",
96 crate_name: "binder_ndk_bindgen",
Ivan Lozano7929c082020-09-23 13:33:42 -040097 wrapper_src: "sys/BinderBindings.hpp",
Stephen Crane994a0f02020-08-11 14:47:29 -070098 source_stem: "bindings",
Stephen Crane2a3c2502020-06-16 17:48:35 -070099 bindgen_flags: [
100 // Unfortunately the only way to specify the rust_non_exhaustive enum
101 // style for a type is to make it the default
ziyiwfe1cc952021-12-03 00:07:58 +0000102 "--default-enum-style",
103 "rust_non_exhaustive",
Stephen Crane2a3c2502020-06-16 17:48:35 -0700104 // and then specify constified enums for the enums we don't want
105 // rustified
ziyiwfe1cc952021-12-03 00:07:58 +0000106 "--constified-enum",
107 "android::c_interface::consts::.*",
Stephen Crane2a3c2502020-06-16 17:48:35 -0700108
ziyiwfe1cc952021-12-03 00:07:58 +0000109 "--allowlist-type",
110 "android::c_interface::.*",
111 "--allowlist-type",
112 "AStatus",
113 "--allowlist-type",
114 "AIBinder_Class",
115 "--allowlist-type",
116 "AIBinder",
117 "--allowlist-type",
118 "AIBinder_Weak",
119 "--allowlist-type",
120 "AIBinder_DeathRecipient",
121 "--allowlist-type",
122 "AParcel",
123 "--allowlist-type",
124 "binder_status_t",
125 "--allowlist-function",
126 ".*",
Stephen Crane2a3c2502020-06-16 17:48:35 -0700127 ],
128 shared_libs: [
129 "libbinder_ndk",
130 ],
131 host_supported: true,
Janis Danisevskis1323d512021-11-09 07:48:08 -0800132 vendor_available: true,
Stephen Crane2a3c2502020-06-16 17:48:35 -0700133
134 // Currently necessary for host builds
135 // TODO(b/31559095): bionic on host should define this
136 target: {
Yifan Hongf856a982020-10-30 14:51:17 -0700137 darwin: {
138 enabled: false,
139 },
Stephen Crane2a3c2502020-06-16 17:48:35 -0700140 },
Jiyong Parkb1af7832021-02-16 13:30:57 +0900141 apex_available: [
142 "//apex_available:platform",
Victor Hsieh7d7de5b2021-05-10 16:28:54 -0700143 "com.android.compos",
Vikram Gaur38a4b0f2022-09-16 01:44:10 +0000144 "com.android.rkpd",
ziyiwfe1cc952021-12-03 00:07:58 +0000145 "com.android.uwb",
Jiyong Parkb1af7832021-02-16 13:30:57 +0900146 "com.android.virt",
147 ],
Roshan Piusbf42e372022-01-20 18:55:59 +0000148 min_sdk_version: "Tiramisu",
Stephen Crane2a3c2502020-06-16 17:48:35 -0700149}
150
151rust_test {
152 name: "libbinder_rs-internal_test",
153 crate_name: "binder",
154 srcs: ["src/lib.rs"],
155 test_suites: ["general-tests"],
156 auto_gen_config: true,
157 shared_libs: [
158 "libbinder_ndk",
159 ],
160 rustlibs: [
Stephen Crane994a0f02020-08-11 14:47:29 -0700161 "libbinder_ndk_sys",
Andrei Homescuea406212021-09-03 02:55:00 +0000162 "libdowncast_rs",
Andrew Walbran7b0be1f2022-08-04 16:47:46 +0000163 "liblazy_static",
164 "liblibc",
Stephen Crane2a3c2502020-06-16 17:48:35 -0700165 ],
166}
Joel Galenson52c44da2021-08-23 09:19:35 -0700167
168rust_test {
169 name: "libbinder_ndk_bindgen_test",
170 srcs: [":libbinder_ndk_bindgen"],
171 crate_name: "binder_ndk_bindgen",
172 test_suites: ["general-tests"],
173 auto_gen_config: true,
174 clippy_lints: "none",
175 lints: "none",
176}