1package {
2    default_applicable_licenses: ["Android-Apache-2.0"],
3}
4
5rust_bindgen {
6    name: "libavf_bindgen",
7    wrapper_src: "include/android/virtualization.h",
8    crate_name: "avf_bindgen",
9    defaults: ["avf_build_flags_rust"],
10    source_stem: "bindings",
11    bindgen_flags: ["--default-enum-style rust"],
12    apex_available: ["com.android.virt"],
13}
14
15rust_defaults {
16    name: "libavf.default",
17    crate_name: "avf",
18    defaults: ["avf_build_flags_rust"],
19    srcs: ["src/lib.rs"],
20    edition: "2021",
21    rustlibs: [
22        "libvmclient",
23        "android.system.virtualizationcommon-rust",
24        "android.system.virtualizationservice-rust",
25        "libavf_bindgen",
26        "libbinder_rs",
27        "liblibc",
28        "liblog_rust",
29        "librpcbinder_rs",
30    ],
31    apex_available: ["com.android.virt"],
32}
33
34rust_ffi_static {
35    name: "libavf_impl",
36    defaults: ["libavf.default"],
37    export_include_dirs: ["include"],
38}
39
40cc_library {
41    name: "libavf",
42    llndk: {
43        symbol_file: "libavf.map.txt",
44        moved_to_apex: true,
45    },
46    whole_static_libs: ["libavf_impl"],
47    shared_libs: [
48        "libbinder_ndk",
49        "libbinder_rpc_unstable",
50        "liblog",
51    ],
52    export_static_lib_headers: ["libavf_impl"],
53    apex_available: ["com.android.virt"],
54    version_script: "libavf.map.txt",
55    stubs: {
56        symbol_file: "libavf.map.txt",
57    },
58}
59