blob: 8c7b0f8603ed31d30552e7e11c23570824a3781b [file] [log] [blame]
// This file is generated by cargo2android.py --run --device --tests --dependencies --no-subdir.
// Most modules in this file are edited manually:
// * global defaults defined in crosvm_defaults, enabled for linux_glibc_x86_64
// * all modules use crosvm_defaults or other defaults derived from it
// * root host binary is crosvm
// * crosvm and libcrosvm have extra features:
// * audio, gfxstream, gpu, virgl_renderer, virgl_renderer_next
// * crosvm has extra flags and ld_flags
// * crosvm_host_test_tests_boot and crosvm_host_test_tests_plugins
// are not ready yet
// We use cargo2android.py only to discover new changes.
// * Use --no-subdir to suppress output of subdirectory Android.bp files.
// * Run cargo2android.py in each subdirectory to generate .bp files.
package {
default_applicable_licenses: ["external_crosvm_license"],
}
// Added automatically by a large-scale-change that took the approach of
// 'apply every license found to every target'. While this makes sure we respect
// every license restriction, it may not be entirely correct.
//
// e.g. GPL in an MIT project might only apply to the contrib/ directory.
//
// Please consider splitting the single license below into multiple licenses,
// taking care not to lose any license_kind information, and overriding the
// default license using the 'licenses: [...]' property on targets as needed.
//
// For unused files, consider creating a 'fileGroup' with "//visibility:private"
// to attach the license to, and including a comment whether the files may be
// used in the current project.
// See: http://go/android-license-faq
license {
name: "external_crosvm_license",
visibility: [":__subpackages__"],
license_kinds: [
"SPDX-license-identifier-Apache-2.0",
"SPDX-license-identifier-BSD",
"SPDX-license-identifier-MIT",
],
license_text: [
"LICENSE",
],
}
rust_defaults {
name: "crosvm_defaults",
edition: "2018",
enabled: false,
target: {
linux_glibc_x86_64: {
enabled: true,
flags: [
"-L device/google/cuttlefish_vmm/x86_64-linux-gnu/bin/",
],
},
android64: {
compile_multilib: "64",
enabled: true,
},
linux_bionic_arm64: {
enabled: true,
},
darwin: {
enabled: false,
},
},
apex_available: [
"//apex_available:platform",
"com.android.virt",
],
}
rust_defaults {
name: "crosvm_proc_macro_defaults",
defaults: ["crosvm_defaults"],
target: {
darwin: {
enabled: true,
},
},
}
rust_binary {
name: "crosvm",
defaults: ["crosvm_defaults"],
host_supported: true,
prefer_rlib: true,
crate_name: "crosvm",
srcs: ["src/main.rs"],
target: {
linux_bionic_arm64: {
relative_install_path: "aarch64-linux-bionic",
},
linux_glibc_x86_64: {
features: [
"gdb",
"gdbstub",
],
relative_install_path: "x86_64-linux-gnu",
rustlibs: [
"libgdbstub",
"libthiserror",
],
},
darwin: {
enabled: false,
},
},
arch: {
x86_64: {
rustlibs: ["libx86_64_rust"],
},
arm64: {
rustlibs: ["libaarch64"],
},
},
edition: "2018",
features: [
"audio",
"default",
"gpu",
"gfxstream",
],
flags: [
"-C overflow-checks=y",
],
ld_flags: [
"-Wl,--rpath,\\$$ORIGIN",
"-Wl,--rpath,\\$$ORIGIN/../../lib64",
],
rustlibs: [
"libacpi_tables",
"libarch",
"libassertions",
"libaudio_streams",
"libbase_rust",
"libbit_field",
"libcrosvm",
"libdata_model",
"libdevices",
"libdisk",
"libhypervisor",
"libkernel_cmdline",
"libkernel_loader",
"liblibc",
"liblibcras",
"libminijail_rust",
"libnet_util",
"libp9",
"librand_ish",
"libresources",
"librutabaga_gfx",
"libsync_rust",
"libtempfile",
"libvhost",
"libvm_control",
"libvm_memory",
],
proc_macros: [
"libenumn",
"libremain",
],
}
rust_defaults {
name: "crosvm_defaults_test",
defaults: ["crosvm_defaults"],
crate_name: "crosvm",
srcs: ["src/crosvm.rs"],
test_suites: ["general-tests"],
auto_gen_config: true,
edition: "2018",
arch: {
x86_64: {
rustlibs: ["libx86_64_rust"],
},
arm64: {
rustlibs: ["libaarch64"],
},
},
target: {
linux_glibc_x86_64: {
features: [
"gdb",
"gdbstub",
],
rustlibs: [
"libgdbstub",
"libthiserror",
],
},
},
features: [
"default",
],
rustlibs: [
"libacpi_tables",
"libarch",
"libassertions",
"libbase_rust",
"libbit_field",
"libdata_model",
"libdevices",
"libdisk",
"libhypervisor",
"libkernel_cmdline",
"libkernel_loader",
"liblibc",
"libminijail_rust",
"libnet_util",
"libp9",
"librand_ish",
"libresources",
"librutabaga_gfx",
"libsync_rust",
"libtempfile",
"libvhost",
"libvm_control",
"libvm_memory",
],
proc_macros: [
"libenumn",
"libremain",
],
}
rust_test_host {
name: "crosvm_host_test_src_crosvm",
defaults: ["crosvm_defaults_test"],
features: [
"audio",
],
rustlibs: [
"libaudio_streams",
"liblibcras",
],
test_options: {
unit_test: true,
},
}
rust_test {
name: "crosvm_device_test_src_crosvm",
defaults: ["crosvm_defaults_test"],
features: [
"audio",
],
rustlibs: [
"libaudio_streams",
"liblibcras",
],
}
rust_defaults {
name: "crosvm_defaults_crosvm",
defaults: ["crosvm_defaults"],
crate_name: "crosvm",
srcs: ["src/main.rs"],
test_suites: ["general-tests"],
auto_gen_config: true,
edition: "2018",
arch: {
x86_64: {
rustlibs: ["libx86_64_rust"],
},
arm64: {
rustlibs: ["libaarch64"],
},
},
features: [
"default",
],
rustlibs: [
"libacpi_tables",
"libarch",
"libassertions",
"libbase_rust",
"libbit_field",
"libcrosvm",
"libdata_model",
"libdevices",
"libdisk",
"libhypervisor",
"libkernel_cmdline",
"libkernel_loader",
"liblibc",
"libminijail_rust",
"libnet_util",
"libp9",
"librand_ish",
"libresources",
"librutabaga_gfx",
"libsync_rust",
"libtempfile",
"libvhost",
"libvm_control",
"libvm_memory",
],
proc_macros: [
"libenumn",
"libremain",
],
}
rust_test_host {
name: "crosvm_host_test_src_main",
defaults: ["crosvm_defaults_crosvm"],
features: [
"audio",
],
rustlibs: [
"libaudio_streams",
"liblibcras",
],
test_options: {
unit_test: true,
},
}
rust_test {
name: "crosvm_device_test_src_main",
defaults: ["crosvm_defaults_crosvm"],
}
rust_library {
name: "libcrosvm",
defaults: ["crosvm_defaults"],
host_supported: true,
crate_name: "crosvm",
srcs: ["src/crosvm.rs"],
edition: "2018",
target: {
linux_glibc: {
features: [
"gfxstream",
],
},
linux_glibc_x86_64: {
features: [
"gdb",
"gdbstub",
],
rustlibs: [
"libgdbstub",
"libthiserror",
],
},
},
arch: {
x86_64: {
rustlibs: ["libx86_64_rust"],
},
arm64: {
rustlibs: ["libaarch64"],
},
},
features: [
"audio",
"default",
"gpu",
],
rustlibs: [
"libacpi_tables",
"libarch",
"libassertions",
"libaudio_streams",
"libbase_rust",
"libbit_field",
"libdata_model",
"libdevices",
"libdisk",
"libhypervisor",
"libkernel_cmdline",
"libkernel_loader",
"liblibc",
"liblibcras",
"libminijail_rust",
"libnet_util",
"libp9",
"librand_ish",
"libresources",
"librutabaga_gfx",
"libsync_rust",
"libtempfile",
"libvhost",
"libvm_control",
"libvm_memory",
],
proc_macros: [
"libenumn",
"libremain",
],
}
// dependent_library ["feature_list"]
// ../adhd/audio_streams/src/audio_streams.rs
// ../adhd/cras/client/cras-sys/src/lib.rs
// ../adhd/cras/client/libcras/src/libcras.rs
// ../libchromeos-rs/src/lib.rs
// ../minijail/rust/minijail-sys/lib.rs
// ../minijail/rust/minijail/src/lib.rs
// ../vm_tools/p9/src/lib.rs
// ../vm_tools/p9/wire_format_derive/wire_format_derive.rs
// async-task-4.0.3 "default,std"
// async-trait-0.1.45
// autocfg-1.0.1
// bitflags-1.2.1 "default"
// cc-1.0.25
// cfg-if-1.0.0
// downcast-rs-1.2.0 "default,std"
// futures-0.3.13 "alloc,async-await,default,executor,futures-executor,std"
// futures-channel-0.3.13 "alloc,futures-sink,sink,std"
// futures-core-0.3.13 "alloc,std"
// futures-executor-0.3.13 "std"
// futures-io-0.3.13 "std"
// futures-macro-0.3.13
// futures-sink-0.3.13 "alloc,std"
// futures-task-0.3.13 "alloc,std"
// futures-util-0.3.13 "alloc,async-await,async-await-macro,channel,futures-channel,futures-io,futures-macro,futures-sink,io,memchr,proc-macro-hack,proc-macro-nested,sink,slab,std"
// getrandom-0.2.2 "std"
// intrusive-collections-0.9.0 "alloc,default"
// libc-0.2.87 "default,std"
// log-0.4.14
// memchr-2.3.4 "default,std"
// memoffset-0.5.6 "default"
// paste-1.0.4
// pin-project-lite-0.2.6
// pin-utils-0.1.0
// pkg-config-0.3.19
// ppv-lite86-0.2.10 "simd,std"
// proc-macro-hack-0.5.19
// proc-macro-nested-0.1.7
// proc-macro2-1.0.24 "default,proc-macro"
// protobuf-2.22.0
// quote-1.0.9 "default,proc-macro"
// rand-0.8.3 "alloc,default,getrandom,libc,rand_chacha,rand_hc,std,std_rng"
// rand_chacha-0.3.0 "std"
// rand_core-0.6.2 "alloc,getrandom,std"
// remain-0.2.2
// remove_dir_all-0.5.3
// serde-1.0.123 "default,derive,serde_derive,std"
// serde_derive-1.0.123 "default"
// slab-0.4.2
// syn-1.0.61 "clone-impls,default,derive,full,parsing,printing,proc-macro,quote,visit-mut"
// tempfile-3.2.0
// thiserror-1.0.24
// thiserror-impl-1.0.24
// unicode-xid-0.2.1 "default"