blob: 38dd4fe187e7595b27bdb7726d0fd8df5d6d3623 [file] [log] [blame]
Bob Badour9b844922022-08-25 09:28:56 -07001package {
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
Andrew Walbranc4d1cbd2022-08-02 17:15:56 +000010rust_library {
11 name: "librpcbinder_rs",
12 crate_name: "rpcbinder",
13 srcs: ["src/lib.rs"],
14 shared_libs: [
15 "libutils",
16 ],
17 rustlibs: [
18 "libbinder_ndk_sys",
Andrew Walbran34e7bdf2022-08-24 11:16:24 +000019 "libbinder_rpc_unstable_bindgen_sys",
Andrew Walbranc4d1cbd2022-08-02 17:15:56 +000020 "libbinder_rs",
21 "libdowncast_rs",
David Brazdilefb56832022-11-16 11:47:00 +000022 "libforeign_types",
Andrew Walbranc4d1cbd2022-08-02 17:15:56 +000023 "liblibc",
Alice Wang893a9912022-10-24 10:44:09 +000024 "liblog_rust",
Andrew Walbranc4d1cbd2022-08-02 17:15:56 +000025 ],
Marcin Radomski9fbb1f92023-01-20 11:38:04 +000026 visibility: [
27 "//device/google/cuttlefish/shared/minidroid/sample",
28 "//packages/modules/Uwb",
29 "//packages/modules/Virtualization:__subpackages__",
30 ],
Andrew Walbranc4d1cbd2022-08-02 17:15:56 +000031 apex_available: [
Marcin Radomski9fbb1f92023-01-20 11:38:04 +000032 "//apex_available:platform",
Andrew Walbranc4d1cbd2022-08-02 17:15:56 +000033 "com.android.compos",
34 "com.android.uwb",
35 "com.android.virt",
36 ],
37 min_sdk_version: "Tiramisu",
38}
39
Andrew Walbran34e7bdf2022-08-24 11:16:24 +000040// Build a separate rust_library rather than depending directly on libbinder_rpc_unstable_bindgen,
41// to work around the fact that rust_bindgen targets only produce rlibs and not dylibs, which would
42// result in duplicate conflicting versions of libbinder_ndk_sys. This will hopefully be fixed in
43// the build system, at which point we can delete this target and go back to using
44// libbinder_rpc_unstable_bindgen directly.
45rust_library {
46 name: "libbinder_rpc_unstable_bindgen_sys",
47 crate_name: "binder_rpc_unstable_bindgen",
48 srcs: [
49 ":libbinder_rpc_unstable_bindgen",
50 ],
51 visibility: [":__subpackages__"],
52 rustlibs: [
53 "libbinder_ndk_sys",
54 ],
55 shared_libs: [
56 "libbinder_rpc_unstable",
57 "libutils",
58 ],
59 apex_available: [
Marcin Radomski9fbb1f92023-01-20 11:38:04 +000060 "//apex_available:platform",
Andrew Walbran34e7bdf2022-08-24 11:16:24 +000061 "com.android.compos",
62 "com.android.uwb",
63 "com.android.virt",
64 ],
65 min_sdk_version: "Tiramisu",
66 lints: "none",
67 clippy_lints: "none",
68}
69
Andrew Walbranc4d1cbd2022-08-02 17:15:56 +000070// TODO(b/184872979): remove once the RPC Binder API is stabilised.
71rust_bindgen {
72 name: "libbinder_rpc_unstable_bindgen",
73 wrapper_src: ":libbinder_rpc_unstable_header",
74 crate_name: "binder_rpc_unstable_bindgen",
75 visibility: [":__subpackages__"],
76 source_stem: "bindings",
Andrew Walbran34e7bdf2022-08-24 11:16:24 +000077 bindgen_flags: [
David Brazdilae3ec6a2022-12-14 13:13:32 +000078 "--size_t-is-usize",
Andrew Walbran34e7bdf2022-08-24 11:16:24 +000079 "--blocklist-type",
80 "AIBinder",
81 "--raw-line",
82 "use binder_ndk_sys::AIBinder;",
David Brazdilae3ec6a2022-12-14 13:13:32 +000083 "--rustified-enum",
84 "ARpcSession_FileDescriptorTransportMode",
Andrew Walbran34e7bdf2022-08-24 11:16:24 +000085 ],
86 rustlibs: [
87 "libbinder_ndk_sys",
88 ],
Andrew Walbranc4d1cbd2022-08-02 17:15:56 +000089 shared_libs: [
90 "libbinder_rpc_unstable",
91 "libutils",
92 ],
93 apex_available: [
Marcin Radomski9fbb1f92023-01-20 11:38:04 +000094 "//apex_available:platform",
Andrew Walbranc4d1cbd2022-08-02 17:15:56 +000095 "com.android.compos",
96 "com.android.uwb",
97 "com.android.virt",
98 ],
99 min_sdk_version: "Tiramisu",
100}
101
102rust_test {
103 name: "libbinder_rpc_unstable_bindgen_test",
104 srcs: [":libbinder_rpc_unstable_bindgen"],
105 crate_name: "binder_rpc_unstable_bindgen",
Andrew Walbran34e7bdf2022-08-24 11:16:24 +0000106 rustlibs: [
107 "libbinder_ndk_sys",
108 ],
Andrew Walbranc4d1cbd2022-08-02 17:15:56 +0000109 test_suites: ["general-tests"],
110 auto_gen_config: true,
111 clippy_lints: "none",
112 lints: "none",
113}