blob: c2d67cfc4917369d37f53922cf44db654fe2816b [file] [log] [blame]
David Brazdil3f0f1e82023-01-12 16:18:43 +00001package {
2 default_applicable_licenses: ["Android-Apache-2.0"],
3}
4
5rust_defaults {
6 name: "virtualizationmanager_defaults",
7 crate_name: "virtualizationmanager",
Shikha Panwar5d6a6752023-12-14 22:08:26 +00008 defaults: [
9 "avf_build_flags_rust",
10 "secretkeeper_use_latest_hal_aidl_rust",
11 "authgraph_use_latest_hal_aidl_rust",
12 ],
David Brazdil3f0f1e82023-01-12 16:18:43 +000013 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",
Shikha Panwar6d306412024-02-17 21:37:49 +000035 "libavf_features",
Jiyong Parkd7bd2f22023-08-10 20:41:19 +090036 "libavflog",
David Brazdil3f0f1e82023-01-12 16:18:43 +000037 "libbinder_rs",
David Daic97e82d2024-02-17 12:10:31 -080038 "libcfg_if",
David Brazdil3f0f1e82023-01-12 16:18:43 +000039 "libclap",
Frederick Maylef375ef12024-10-21 16:07:21 -070040 "libcrosvm_control_static",
David Brazdil3f0f1e82023-01-12 16:18:43 +000041 "libcommand_fds",
42 "libdisk",
Inseob Kim46257382024-01-03 15:41:22 +090043 "libglob",
Seungjae Yoo14e60182024-02-21 13:28:31 +090044 "libhex",
Alan Stokesc4d5def2023-02-14 17:01:59 +000045 "libhypervisor_props",
David Brazdil3f0f1e82023-01-12 16:18:43 +000046 "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",
Seungjae Yoo14e60182024-02-21 13:28:31 +090064 "libvbmeta_rust",
David Brazdil3f0f1e82023-01-12 16:18:43 +000065 "libvmconfig",
66 "libzip",
67 "libvsock",
Jaewan Kim4cf20aa2023-04-03 10:25:38 +090068 "liblibfdt",
Jaewan Kim39952072024-01-19 17:04:53 +090069 "libfsfdt",
Nikita Ioffef934e812024-07-05 15:44:41 +000070 "libhypervisor_props",
Andrew Walbran47d316e2024-11-28 18:41:09 +000071 "libzerocopy",
Jiyong Park3f9b5092024-07-10 13:38:29 +090072 "libuuid",
David Brazdil3f0f1e82023-01-12 16:18:43 +000073 // TODO(b/202115393) stabilize the interface
74 "packagemanager_aidl-rust",
75 ],
76 shared_libs: [
David Brazdil3f0f1e82023-01-12 16:18:43 +000077 "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
Inseob Kimb198f6e2024-07-22 18:06:15 +090088rust_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
Inseob Kim39b41152024-09-03 11:03:22 +090096xsd_config {
97 name: "early_vms",
98 srcs: ["early_vms.xsd"],
99 api_dir: "schema",
100 package_name: "android.system.virtualizationservice",
101}
102
David Brazdil3f0f1e82023-01-12 16:18:43 +0000103rust_test {
104 name: "virtualizationmanager_device_test",
105 srcs: ["src/main.rs"],
106 defaults: ["virtualizationmanager_defaults"],
107 rustlibs: [
108 "libtempfile",
109 ],
Jaewan Kim4cf20aa2023-04-03 10:25:38 +0900110 data: [
Jaewan Kim46b96702023-09-07 15:24:51 +0900111 ":test_avf_debug_policy_with_ramdump",
112 ":test_avf_debug_policy_without_ramdump",
Jaewan Kim4cf20aa2023-04-03 10:25:38 +0900113 ":test_avf_debug_policy_with_adb",
114 ":test_avf_debug_policy_without_adb",
115 ],
David Brazdil3f0f1e82023-01-12 16:18:43 +0000116 test_suites: ["general-tests"],
117}
Inseob Kim15601812024-05-27 17:32:47 +0900118
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}