blob: 443a8885fe6ade00aef277fcfbf719f017f62c9a [file] [log] [blame]
Nikita Putikhin29b96a42023-07-13 15:05:48 +00001package {
2 default_applicable_licenses: ["Android-Apache-2.0"],
3}
4
5rust_defaults {
Nikita Putikhin06e59a62023-08-23 11:29:48 +00006 name: "libatrace_tracing_subscriber_defaults",
7 srcs: ["src/tracing_subscriber.rs"],
8 rustlibs: [
9 "libatrace_rust",
10 "libtracing",
11 "libtracing_subscriber",
12 ],
13}
14
15rust_library {
16 name: "libatrace_tracing_subscriber",
17 crate_name: "atrace_tracing_subscriber",
18 defaults: ["libatrace_tracing_subscriber_defaults"],
Nikita Putikhinde63cdf2023-10-24 17:08:24 +020019 // Host support is for unit tests.
20 host_supported: true,
Nikita Putikhin06e59a62023-08-23 11:29:48 +000021 product_available: true,
22 vendor_available: true,
23 apex_available: [
24 "//apex_available:platform",
25 "//apex_available:anyapex",
26 ],
27}
28
29rust_test_host {
30 name: "libatrace_tracing_subscriber_inline_tests",
31 defaults: ["libatrace_tracing_subscriber_defaults"],
32 test_suites: ["general_tests"],
33 rustlibs: [
34 "libonce_cell",
35 "libthread_local",
36 ],
37}
38
39rust_defaults {
Nikita Putikhin29b96a42023-07-13 15:05:48 +000040 name: "libatrace_rust_defaults",
41 srcs: ["src/lib.rs"],
42 rustlibs: [
43 "libcutils_trace_bindgen",
44 "libstatic_assertions",
45 "libbitflags",
46 ],
47}
48
49rust_library {
50 name: "libatrace_rust",
51 crate_name: "atrace",
52 defaults: ["libatrace_rust_defaults"],
Nikita Putikhin06e59a62023-08-23 11:29:48 +000053 // Host support is for unit tests.
54 host_supported: true,
Nikita Putikhin29b96a42023-07-13 15:05:48 +000055 product_available: true,
56 vendor_available: true,
57 apex_available: [
58 "//apex_available:platform",
59 "//apex_available:anyapex",
60 ],
61}
62
63rust_test_host {
64 name: "libatrace_rust_inline_tests",
65 defaults: ["libatrace_rust_defaults"],
66 test_suites: ["general_tests"],
67 rustlibs: [
68 "libonce_cell",
69 "libthread_local",
70 ],
71}
72
73rust_bindgen {
74 name: "libcutils_trace_bindgen",
75 crate_name: "cutils_trace_bindgen",
76 wrapper_src: "bindgen/cutils_trace.h",
77 source_stem: "cutils_trace",
78 bindgen_flags: [
79 "--allowlist-function=atrace_.*",
80 "--allowlist-var=ATRACE_.*",
81 "--allowlist-var=atrace_.*",
82 ],
83 shared_libs: ["libcutils"],
84 static_libs: ["libcutils_trace_bindgen_wrap"],
85 // Host support is for unit tests.
86 host_supported: true,
87 product_available: true,
88 vendor_available: true,
89 apex_available: [
90 "//apex_available:platform",
91 "//apex_available:anyapex",
92 ],
93}
94
95// TODO: b/291544011 - Replace with autogenerated wrappers once they are supported.
96cc_library_static {
97 name: "libcutils_trace_bindgen_wrap",
98 srcs: ["bindgen/cutils_trace_wrap.c"],
99 visibility: [":__subpackages__"],
100 shared_libs: ["libcutils"],
101 // Host support is for unit tests.
102 host_supported: true,
103 product_available: true,
104 vendor_available: true,
105 apex_available: [
106 "//apex_available:platform",
107 "//apex_available:anyapex",
108 ],
109}