• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1package {
2    default_applicable_licenses: ["Android-Apache-2.0"],
3}
4
5rust_defaults {
6    name: "virtualizationmanager_defaults",
7    crate_name: "virtualizationmanager",
8    defaults: [
9        "avf_build_flags_rust",
10        "secretkeeper_use_latest_hal_aidl_rust",
11        "authgraph_use_latest_hal_aidl_rust",
12    ],
13    edition: "2021",
14    // Only build on targets which crosvm builds on.
15    enabled: false,
16    target: {
17        android64: {
18            compile_multilib: "64",
19            enabled: true,
20        },
21        linux_bionic_arm64: {
22            enabled: true,
23        },
24    },
25    prefer_rlib: true,
26    rustlibs: [
27        "android.system.virtualizationcommon-rust",
28        "android.system.virtualizationservice-rust",
29        "android.system.virtualizationservice_internal-rust",
30        "android.system.virtualmachineservice-rust",
31        "android.os.permissions_aidl-rust",
32        "libandroid_logger",
33        "libanyhow",
34        "libapkverify",
35        "libavf_features",
36        "libavflog",
37        "libbinder_rs",
38        "libcfg_if",
39        "libclap",
40        "libcrosvm_control_static",
41        "libcommand_fds",
42        "libdisk",
43        "libglob",
44        "libhex",
45        "libhypervisor_props",
46        "liblibc",
47        "liblog_rust",
48        "libmicrodroid_metadata",
49        "libmicrodroid_payload_config",
50        "libnested_virt",
51        "libnix",
52        "libonce_cell",
53        "libregex",
54        "librpcbinder_rs",
55        "librustutils",
56        "libsemver",
57        "libselinux_bindgen",
58        "libserde",
59        "libserde_json",
60        "libserde_xml_rs",
61        "libshared_child",
62        "libstatslog_virtualization_rust",
63        "libtombstoned_client_rust",
64        "libvbmeta_rust",
65        "libvmconfig",
66        "libzip",
67        "libvsock",
68        "liblibfdt",
69        "libfsfdt",
70        "libhypervisor_props",
71        "libzerocopy",
72        "libuuid",
73        // TODO(b/202115393) stabilize the interface
74        "packagemanager_aidl-rust",
75    ],
76    shared_libs: [
77        "libselinux",
78    ],
79}
80
81rust_binary {
82    name: "virtmgr",
83    defaults: ["virtualizationmanager_defaults"],
84    srcs: ["src/main.rs"],
85    apex_available: ["com.android.virt"],
86}
87
88rust_binary {
89    name: "early_virtmgr",
90    defaults: ["virtualizationmanager_defaults"],
91    srcs: ["src/main.rs"],
92    cfgs: ["early"],
93    apex_available: ["com.android.virt"],
94}
95
96xsd_config {
97    name: "early_vms",
98    srcs: ["early_vms.xsd"],
99    api_dir: "schema",
100    package_name: "android.system.virtualizationservice",
101}
102
103rust_test {
104    name: "virtualizationmanager_device_test",
105    srcs: ["src/main.rs"],
106    defaults: ["virtualizationmanager_defaults"],
107    rustlibs: [
108        "libtempfile",
109    ],
110    data: [
111        ":test_avf_debug_policy_with_ramdump",
112        ":test_avf_debug_policy_without_ramdump",
113        ":test_avf_debug_policy_with_adb",
114        ":test_avf_debug_policy_without_adb",
115    ],
116    test_suites: ["general-tests"],
117}
118
119cc_fuzz {
120    name: "virtualizationmanager_fuzzer",
121    defaults: ["service_fuzzer_defaults"],
122    srcs: ["fuzzer.cpp"],
123    static_libs: [
124        "android.system.virtualizationservice-ndk",
125        "libbase",
126    ],
127    shared_libs: [
128        "libbinder_ndk",
129        "libbinder_rpc_unstable",
130        "liblog",
131    ],
132    fuzz_config: {
133        cc: ["android-kvm@google.com"],
134    },
135}
136