81 lines
2.3 KiB
Plaintext
81 lines
2.3 KiB
Plaintext
package {
|
|
default_applicable_licenses: ["Android-Apache-2.0"],
|
|
}
|
|
|
|
// The Rust implementation of the C API.
|
|
rust_ffi_static {
|
|
name: "libvm_payload_impl",
|
|
crate_name: "vm_payload",
|
|
visibility: ["//visibility:private"],
|
|
srcs: ["src/*.rs"],
|
|
include_dirs: ["include"],
|
|
prefer_rlib: true,
|
|
rustlibs: [
|
|
"android.system.virtualization.payload-rust",
|
|
"libandroid_logger",
|
|
"libanyhow",
|
|
"libbinder_rs",
|
|
"liblazy_static",
|
|
"liblibc",
|
|
"liblog_rust",
|
|
"librpcbinder_rs",
|
|
"libvsock",
|
|
],
|
|
// The sanitize section below fixes the fuzzer build in b/256166339.
|
|
// TODO(b/250854486): Remove the sanitize section once the bug is fixed.
|
|
sanitize: {
|
|
address: false,
|
|
},
|
|
}
|
|
|
|
// Rust wrappers round the C API for Rust clients.
|
|
// (Yes, this involves going Rust -> C -> Rust.)
|
|
rust_bindgen {
|
|
name: "libvm_payload_bindgen",
|
|
wrapper_src: "include-restricted/vm_payload_restricted.h",
|
|
crate_name: "vm_payload_bindgen",
|
|
source_stem: "bindings",
|
|
apex_available: ["com.android.compos"],
|
|
visibility: ["//packages/modules/Virtualization/compos"],
|
|
shared_libs: [
|
|
"libvm_payload#current",
|
|
],
|
|
}
|
|
|
|
// Shared library for clients to link against.
|
|
cc_library_shared {
|
|
name: "libvm_payload",
|
|
shared_libs: [
|
|
"libbinder_ndk",
|
|
"libbinder_rpc_unstable",
|
|
"liblog",
|
|
],
|
|
whole_static_libs: ["libvm_payload_impl"],
|
|
export_static_lib_headers: ["libvm_payload_impl"],
|
|
installable: false,
|
|
version_script: "libvm_payload.map.txt",
|
|
stubs: {
|
|
symbol_file: "libvm_payload.map.txt",
|
|
// Implementation is available inside a Microdroid VM.
|
|
implementation_installable: false,
|
|
},
|
|
}
|
|
|
|
// Just the headers. Mostly useful for clients that only want the
|
|
// declaration of AVmPayload_main().
|
|
cc_library_headers {
|
|
name: "vm_payload_headers",
|
|
apex_available: ["com.android.compos"],
|
|
export_include_dirs: ["include"],
|
|
}
|
|
|
|
// Restricted headers for use by internal clients & associated tests.
|
|
cc_library_headers {
|
|
name: "vm_payload_restricted_headers",
|
|
header_libs: ["vm_payload_headers"],
|
|
export_header_lib_headers: ["vm_payload_headers"],
|
|
export_include_dirs: ["include-restricted"],
|
|
apex_available: ["com.android.compos"],
|
|
visibility: ["//packages/modules/Virtualization:__subpackages__"],
|
|
}
|