1rust_library { 2 name: "libuprobestats_bpf", 3 crate_name: "uprobestats_bpf", 4 defaults: ["uprobestats_rust_defaults"], 5 srcs: ["bpf.rs"], 6 rustlibs: [ 7 "liblog_rust", 8 "libuprobestats_bpf_bindgen", 9 ], 10} 11 12rust_bindgen { 13 name: "libuprobestats_bpf_bindgen", 14 crate_name: "uprobestats_bpf_bindgen", 15 defaults: ["uprobestats_rust_defaults"], 16 wrapper_src: "bpf_wrapper.h", 17 source_stem: "bindings", 18 shared_libs: ["libuprobestats_bpf_cc"], 19 visibility: ["//packages/modules/UprobeStats:__subpackages__"], 20} 21 22cc_library_shared { 23 name: "libuprobestats_bpf_cc", 24 srcs: ["bpf.cpp"], 25 header_libs: [ 26 "uprobestats_bpf_headers", 27 ], 28 shared_libs: [ 29 "libandroid", 30 "libbase", 31 "liblog", 32 ], 33 apex_available: [ 34 "//apex_available:platform", 35 "com.android.uprobestats", 36 ], 37 min_sdk_version: "36", 38} 39 40rust_library { 41 name: "libdynamic_instrumentation_manager", 42 defaults: ["uprobestats_rust_defaults"], 43 crate_name: "dynamic_instrumentation_manager", 44 srcs: ["dynamic_instrumentation_manager.rs"], 45 rustlibs: [ 46 "libdynamic_instrumentation_manager_bindgen", 47 ], 48} 49 50rust_bindgen { 51 name: "libdynamic_instrumentation_manager_bindgen", 52 crate_name: "dynamic_instrumentation_manager_bindgen", 53 defaults: ["uprobestats_rust_defaults"], 54 wrapper_src: "dynamic_instrumentation_manager_wrapper.h", 55 source_stem: "bindings", 56 shared_libs: ["libandroid"], 57} 58 59rust_library { 60 name: "libstatssocket_rs", 61 defaults: ["uprobestats_rust_defaults"], 62 crate_name: "statssocket", 63 srcs: ["statssocket.rs"], 64 rustlibs: [ 65 "libstatssocket_bindgen", 66 ], 67} 68 69rust_bindgen { 70 name: "libstatssocket_bindgen", 71 defaults: ["uprobestats_rust_defaults"], 72 wrapper_src: "statssocket_wrapper.h", 73 crate_name: "statssocket_bindgen", 74 source_stem: "bindings", 75 shared_libs: ["libstatssocket"], 76} 77 78rust_library { 79 name: "libstatslog_uprobestats_rs", 80 defaults: ["uprobestats_rust_defaults"], 81 crate_name: "statslog_uprobestats", 82 srcs: [ 83 "statslog_wrapper.rs", 84 ":statslog_uprobestats.rs", 85 ], 86 rustlibs: [ 87 "libstatslog_rust_header", 88 "libstatspull_bindgen", 89 ], 90} 91 92genrule { 93 name: "statslog_uprobestats.rs", 94 tools: ["stats-log-api-gen"], 95 cmd: "$(location stats-log-api-gen) --module uprobestats --rustHeaderCrate statslog_rust_header --rust $(genDir)/statslog_uprobestats.rs", 96 out: ["statslog_uprobestats.rs"], 97} 98