xref: /aosp_15_r20/system/extras/libatrace_rust/Android.bp (revision 288bf5226967eb3dac5cce6c939ccc2a7f2b4fe5)
1*288bf522SAndroid Build Coastguard Workerpackage {
2*288bf522SAndroid Build Coastguard Worker    default_applicable_licenses: ["Android-Apache-2.0"],
3*288bf522SAndroid Build Coastguard Worker}
4*288bf522SAndroid Build Coastguard Worker
5*288bf522SAndroid Build Coastguard Workerrust_defaults {
6*288bf522SAndroid Build Coastguard Worker    name: "libatrace_tracing_subscriber_defaults",
7*288bf522SAndroid Build Coastguard Worker    srcs: ["src/tracing_subscriber.rs"],
8*288bf522SAndroid Build Coastguard Worker    rustlibs: [
9*288bf522SAndroid Build Coastguard Worker        "libatrace_rust",
10*288bf522SAndroid Build Coastguard Worker        "libtracing",
11*288bf522SAndroid Build Coastguard Worker        "libtracing_subscriber",
12*288bf522SAndroid Build Coastguard Worker    ],
13*288bf522SAndroid Build Coastguard Worker    min_sdk_version: "35",
14*288bf522SAndroid Build Coastguard Worker}
15*288bf522SAndroid Build Coastguard Worker
16*288bf522SAndroid Build Coastguard Workerrust_library {
17*288bf522SAndroid Build Coastguard Worker    name: "libatrace_tracing_subscriber",
18*288bf522SAndroid Build Coastguard Worker    crate_name: "atrace_tracing_subscriber",
19*288bf522SAndroid Build Coastguard Worker    defaults: ["libatrace_tracing_subscriber_defaults"],
20*288bf522SAndroid Build Coastguard Worker    // Host support is for unit tests.
21*288bf522SAndroid Build Coastguard Worker    host_supported: true,
22*288bf522SAndroid Build Coastguard Worker    product_available: true,
23*288bf522SAndroid Build Coastguard Worker    vendor_available: true,
24*288bf522SAndroid Build Coastguard Worker    apex_available: [
25*288bf522SAndroid Build Coastguard Worker        "//apex_available:platform",
26*288bf522SAndroid Build Coastguard Worker        "//apex_available:anyapex",
27*288bf522SAndroid Build Coastguard Worker    ],
28*288bf522SAndroid Build Coastguard Worker}
29*288bf522SAndroid Build Coastguard Worker
30*288bf522SAndroid Build Coastguard Workerrust_test_host {
31*288bf522SAndroid Build Coastguard Worker    name: "libatrace_tracing_subscriber_inline_tests",
32*288bf522SAndroid Build Coastguard Worker    defaults: ["libatrace_tracing_subscriber_defaults"],
33*288bf522SAndroid Build Coastguard Worker    test_suites: ["general_tests"],
34*288bf522SAndroid Build Coastguard Worker    rustlibs: [
35*288bf522SAndroid Build Coastguard Worker        "libthread_local",
36*288bf522SAndroid Build Coastguard Worker    ],
37*288bf522SAndroid Build Coastguard Worker}
38*288bf522SAndroid Build Coastguard Worker
39*288bf522SAndroid Build Coastguard Workerrust_defaults {
40*288bf522SAndroid Build Coastguard Worker    name: "libatrace_rust_defaults",
41*288bf522SAndroid Build Coastguard Worker    srcs: ["src/lib.rs"],
42*288bf522SAndroid Build Coastguard Worker    rustlibs: [
43*288bf522SAndroid Build Coastguard Worker        "libcutils_trace_bindgen",
44*288bf522SAndroid Build Coastguard Worker        "libstatic_assertions",
45*288bf522SAndroid Build Coastguard Worker        "libbitflags",
46*288bf522SAndroid Build Coastguard Worker    ],
47*288bf522SAndroid Build Coastguard Worker    min_sdk_version: "35",
48*288bf522SAndroid Build Coastguard Worker}
49*288bf522SAndroid Build Coastguard Worker
50*288bf522SAndroid Build Coastguard Workerrust_library {
51*288bf522SAndroid Build Coastguard Worker    name: "libatrace_rust",
52*288bf522SAndroid Build Coastguard Worker    crate_name: "atrace",
53*288bf522SAndroid Build Coastguard Worker    defaults: ["libatrace_rust_defaults"],
54*288bf522SAndroid Build Coastguard Worker    // Host support is for unit tests.
55*288bf522SAndroid Build Coastguard Worker    host_supported: true,
56*288bf522SAndroid Build Coastguard Worker    product_available: true,
57*288bf522SAndroid Build Coastguard Worker    vendor_available: true,
58*288bf522SAndroid Build Coastguard Worker    apex_available: [
59*288bf522SAndroid Build Coastguard Worker        "//apex_available:platform",
60*288bf522SAndroid Build Coastguard Worker        "//apex_available:anyapex",
61*288bf522SAndroid Build Coastguard Worker    ],
62*288bf522SAndroid Build Coastguard Worker}
63*288bf522SAndroid Build Coastguard Worker
64*288bf522SAndroid Build Coastguard Workerrust_test_host {
65*288bf522SAndroid Build Coastguard Worker    name: "libatrace_rust_inline_tests",
66*288bf522SAndroid Build Coastguard Worker    defaults: ["libatrace_rust_defaults"],
67*288bf522SAndroid Build Coastguard Worker    test_suites: ["general_tests"],
68*288bf522SAndroid Build Coastguard Worker    rustlibs: [
69*288bf522SAndroid Build Coastguard Worker        "libthread_local",
70*288bf522SAndroid Build Coastguard Worker    ],
71*288bf522SAndroid Build Coastguard Worker}
72*288bf522SAndroid Build Coastguard Worker
73*288bf522SAndroid Build Coastguard Workerrust_bindgen {
74*288bf522SAndroid Build Coastguard Worker    name: "libcutils_trace_bindgen",
75*288bf522SAndroid Build Coastguard Worker    crate_name: "cutils_trace_bindgen",
76*288bf522SAndroid Build Coastguard Worker    wrapper_src: "bindgen/cutils_trace.h",
77*288bf522SAndroid Build Coastguard Worker    source_stem: "cutils_trace",
78*288bf522SAndroid Build Coastguard Worker    bindgen_flags: [
79*288bf522SAndroid Build Coastguard Worker        "--allowlist-function=atrace_.*",
80*288bf522SAndroid Build Coastguard Worker        "--allowlist-var=ATRACE_.*",
81*288bf522SAndroid Build Coastguard Worker        "--allowlist-var=atrace_.*",
82*288bf522SAndroid Build Coastguard Worker    ],
83*288bf522SAndroid Build Coastguard Worker    shared_libs: ["libcutils"],
84*288bf522SAndroid Build Coastguard Worker    static_libs: ["libcutils_trace_bindgen_wrap"],
85*288bf522SAndroid Build Coastguard Worker    // Host support is for unit tests.
86*288bf522SAndroid Build Coastguard Worker    host_supported: true,
87*288bf522SAndroid Build Coastguard Worker    product_available: true,
88*288bf522SAndroid Build Coastguard Worker    vendor_available: true,
89*288bf522SAndroid Build Coastguard Worker    apex_available: [
90*288bf522SAndroid Build Coastguard Worker        "//apex_available:platform",
91*288bf522SAndroid Build Coastguard Worker        "//apex_available:anyapex",
92*288bf522SAndroid Build Coastguard Worker    ],
93*288bf522SAndroid Build Coastguard Worker    min_sdk_version: "35",
94*288bf522SAndroid Build Coastguard Worker}
95*288bf522SAndroid Build Coastguard Worker
96*288bf522SAndroid Build Coastguard Worker// TODO: b/291544011 - Replace with autogenerated wrappers once they are supported.
97*288bf522SAndroid Build Coastguard Workercc_library_static {
98*288bf522SAndroid Build Coastguard Worker    name: "libcutils_trace_bindgen_wrap",
99*288bf522SAndroid Build Coastguard Worker    srcs: ["bindgen/cutils_trace_wrap.c"],
100*288bf522SAndroid Build Coastguard Worker    visibility: [":__subpackages__"],
101*288bf522SAndroid Build Coastguard Worker    shared_libs: ["libcutils"],
102*288bf522SAndroid Build Coastguard Worker    // Host support is for unit tests.
103*288bf522SAndroid Build Coastguard Worker    host_supported: true,
104*288bf522SAndroid Build Coastguard Worker    product_available: true,
105*288bf522SAndroid Build Coastguard Worker    vendor_available: true,
106*288bf522SAndroid Build Coastguard Worker    apex_available: [
107*288bf522SAndroid Build Coastguard Worker        "//apex_available:platform",
108*288bf522SAndroid Build Coastguard Worker        "//apex_available:anyapex",
109*288bf522SAndroid Build Coastguard Worker    ],
110*288bf522SAndroid Build Coastguard Worker    min_sdk_version: "35",
111*288bf522SAndroid Build Coastguard Worker}
112