xref: /aosp_15_r20/system/extras/libatrace_rust/Android.bp (revision 288bf5226967eb3dac5cce6c939ccc2a7f2b4fe5)
1package {
2    default_applicable_licenses: ["Android-Apache-2.0"],
3}
4
5rust_defaults {
6    name: "libatrace_tracing_subscriber_defaults",
7    srcs: ["src/tracing_subscriber.rs"],
8    rustlibs: [
9        "libatrace_rust",
10        "libtracing",
11        "libtracing_subscriber",
12    ],
13    min_sdk_version: "35",
14}
15
16rust_library {
17    name: "libatrace_tracing_subscriber",
18    crate_name: "atrace_tracing_subscriber",
19    defaults: ["libatrace_tracing_subscriber_defaults"],
20    // Host support is for unit tests.
21    host_supported: true,
22    product_available: true,
23    vendor_available: true,
24    apex_available: [
25        "//apex_available:platform",
26        "//apex_available:anyapex",
27    ],
28}
29
30rust_test_host {
31    name: "libatrace_tracing_subscriber_inline_tests",
32    defaults: ["libatrace_tracing_subscriber_defaults"],
33    test_suites: ["general_tests"],
34    rustlibs: [
35        "libthread_local",
36    ],
37}
38
39rust_defaults {
40    name: "libatrace_rust_defaults",
41    srcs: ["src/lib.rs"],
42    rustlibs: [
43        "libcutils_trace_bindgen",
44        "libstatic_assertions",
45        "libbitflags",
46    ],
47    min_sdk_version: "35",
48}
49
50rust_library {
51    name: "libatrace_rust",
52    crate_name: "atrace",
53    defaults: ["libatrace_rust_defaults"],
54    // Host support is for unit tests.
55    host_supported: true,
56    product_available: true,
57    vendor_available: true,
58    apex_available: [
59        "//apex_available:platform",
60        "//apex_available:anyapex",
61    ],
62}
63
64rust_test_host {
65    name: "libatrace_rust_inline_tests",
66    defaults: ["libatrace_rust_defaults"],
67    test_suites: ["general_tests"],
68    rustlibs: [
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    min_sdk_version: "35",
94}
95
96// TODO: b/291544011 - Replace with autogenerated wrappers once they are supported.
97cc_library_static {
98    name: "libcutils_trace_bindgen_wrap",
99    srcs: ["bindgen/cutils_trace_wrap.c"],
100    visibility: [":__subpackages__"],
101    shared_libs: ["libcutils"],
102    // Host support is for unit tests.
103    host_supported: true,
104    product_available: true,
105    vendor_available: true,
106    apex_available: [
107        "//apex_available:platform",
108        "//apex_available:anyapex",
109    ],
110    min_sdk_version: "35",
111}
112