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