summaryrefslogtreecommitdiff
path: root/libatrace_rust/Android.bp
blob: 443a8885fe6ade00aef277fcfbf719f017f62c9a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
package {
    default_applicable_licenses: ["Android-Apache-2.0"],
}

rust_defaults {
    name: "libatrace_tracing_subscriber_defaults",
    srcs: ["src/tracing_subscriber.rs"],
    rustlibs: [
        "libatrace_rust",
        "libtracing",
        "libtracing_subscriber",
    ],
}

rust_library {
    name: "libatrace_tracing_subscriber",
    crate_name: "atrace_tracing_subscriber",
    defaults: ["libatrace_tracing_subscriber_defaults"],
    // Host support is for unit tests.
    host_supported: true,
    product_available: true,
    vendor_available: true,
    apex_available: [
        "//apex_available:platform",
        "//apex_available:anyapex",
    ],
}

rust_test_host {
    name: "libatrace_tracing_subscriber_inline_tests",
    defaults: ["libatrace_tracing_subscriber_defaults"],
    test_suites: ["general_tests"],
    rustlibs: [
        "libonce_cell",
        "libthread_local",
    ],
}

rust_defaults {
    name: "libatrace_rust_defaults",
    srcs: ["src/lib.rs"],
    rustlibs: [
        "libcutils_trace_bindgen",
        "libstatic_assertions",
        "libbitflags",
    ],
}

rust_library {
    name: "libatrace_rust",
    crate_name: "atrace",
    defaults: ["libatrace_rust_defaults"],
    // Host support is for unit tests.
    host_supported: true,
    product_available: true,
    vendor_available: true,
    apex_available: [
        "//apex_available:platform",
        "//apex_available:anyapex",
    ],
}

rust_test_host {
    name: "libatrace_rust_inline_tests",
    defaults: ["libatrace_rust_defaults"],
    test_suites: ["general_tests"],
    rustlibs: [
        "libonce_cell",
        "libthread_local",
    ],
}

rust_bindgen {
    name: "libcutils_trace_bindgen",
    crate_name: "cutils_trace_bindgen",
    wrapper_src: "bindgen/cutils_trace.h",
    source_stem: "cutils_trace",
    bindgen_flags: [
        "--allowlist-function=atrace_.*",
        "--allowlist-var=ATRACE_.*",
        "--allowlist-var=atrace_.*",
    ],
    shared_libs: ["libcutils"],
    static_libs: ["libcutils_trace_bindgen_wrap"],
    // Host support is for unit tests.
    host_supported: true,
    product_available: true,
    vendor_available: true,
    apex_available: [
        "//apex_available:platform",
        "//apex_available:anyapex",
    ],
}

// TODO: b/291544011 - Replace with autogenerated wrappers once they are supported.
cc_library_static {
    name: "libcutils_trace_bindgen_wrap",
    srcs: ["bindgen/cutils_trace_wrap.c"],
    visibility: [":__subpackages__"],
    shared_libs: ["libcutils"],
    // Host support is for unit tests.
    host_supported: true,
    product_available: true,
    vendor_available: true,
    apex_available: [
        "//apex_available:platform",
        "//apex_available:anyapex",
    ],
}