rust_library { name: "libuprobestats_bpf", crate_name: "uprobestats_bpf", defaults: ["uprobestats_rust_defaults"], srcs: ["bpf.rs"], rustlibs: [ "liblibc", "liblog_rust", "libuprobestats_bpf_bindgen", ], } rust_bindgen { name: "libuprobestats_bpf_bindgen", crate_name: "uprobestats_bpf_bindgen", defaults: ["uprobestats_rust_defaults"], wrapper_src: "bpf_wrapper.h", source_stem: "bindings", shared_libs: ["libuprobestats_bpf_cc"], visibility: ["//packages/modules/UprobeStats:__subpackages__"], } cc_library_shared { name: "libuprobestats_bpf_cc", srcs: ["bpf.cpp"], header_libs: [ "uprobestats_bpf_headers", ], export_header_lib_headers: [ "uprobestats_bpf_headers", ], shared_libs: [ "libandroid", "libbase", "liblog", ], apex_available: [ "//apex_available:platform", "com.android.uprobestats", ], min_sdk_version: "36", } rust_library { name: "libdynamic_instrumentation_manager", defaults: ["uprobestats_rust_defaults"], crate_name: "dynamic_instrumentation_manager", srcs: ["dynamic_instrumentation_manager.rs"], rustlibs: [ "libbinder_rs", "libdynamic_instrumentation_manager_bindgen", ], } rust_bindgen { name: "libdynamic_instrumentation_manager_bindgen", crate_name: "dynamic_instrumentation_manager_bindgen", defaults: ["uprobestats_rust_defaults"], wrapper_src: "dynamic_instrumentation_manager_wrapper.h", source_stem: "bindings", shared_libs: ["libandroid"], } rust_library { name: "libactivity_manager_rs", defaults: ["uprobestats_rust_defaults"], crate_name: "activity_manager", srcs: ["activity_manager.rs"], rustlibs: ["libactivity_manager_bindgen"], } cc_library_shared { name: "libactivity_manager_cc", srcs: ["activity_manager.cpp"], shared_libs: [ "libandroid", "libbinder_ndk", "liblog", ], apex_available: [ "//apex_available:platform", "com.android.uprobestats", ], min_sdk_version: "36", } rust_bindgen { name: "libactivity_manager_bindgen", crate_name: "activity_manager_bindgen", defaults: ["uprobestats_rust_defaults"], wrapper_src: "activity_manager_wrapper.h", source_stem: "bindings", shared_libs: [ "libactivity_manager_cc", "libandroid", "libbinder_ndk", ], } rust_library { name: "libstatssocket_rs", defaults: ["uprobestats_rust_defaults"], crate_name: "statssocket", srcs: ["statssocket.rs"], rustlibs: [ "libstatssocket_bindgen", ], } rust_bindgen { name: "libstatssocket_bindgen", defaults: ["uprobestats_rust_defaults"], wrapper_src: "statssocket_wrapper.h", crate_name: "statssocket_bindgen", source_stem: "bindings", shared_libs: ["libstatssocket"], } rust_library { name: "libstatslog_uprobestats_rs", defaults: ["uprobestats_rust_defaults"], crate_name: "statslog_uprobestats", srcs: [ "statslog_wrapper.rs", ":statslog_uprobestats.rs", ], rustlibs: [ "libstatslog_rust_header", "libstatspull_bindgen", ], } genrule { name: "statslog_uprobestats.rs", tools: ["stats-log-api-gen"], cmd: "$(location stats-log-api-gen) --module uprobestats --rustHeaderCrate statslog_rust_header --rust $(genDir)/statslog_uprobestats.rs", out: ["statslog_uprobestats.rs"], }