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