// This file is generated by cargo2android.py --config cargo2android.json. // Do not modify this file as changes will be overridden on upgrade. 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_binary { name: "crosvm", defaults: ["crosvm_defaults"], host_supported: true, prefer_rlib: true, crate_name: "crosvm", cargo_env_compat: true, srcs: ["src/main.rs"], edition: "2021", features: [ "audio", "usb", ], rustlibs: [ "libacpi_tables", "libanyhow", "libarch", "libassertions", "libaudio_streams", "libbase_rust", "libbit_field", "libcfg_if", "libcrosvm", "libdata_model", "libdevices", "libdisk", "libhypervisor", "libkernel_cmdline", "libkernel_loader", "liblibc", "liblibcras", "libminijail_rust", "libnet_util", "libp9", "libresources", "librutabaga_gfx", "libserde_json", "libserde_keyvalue", "libsync_rust", "libtempfile", "libthiserror", "libuuid", "libvhost", "libvm_control", "libvm_memory", ], proc_macros: [ "libenumn", "libremain", ], arch: { x86_64: { rustlibs: ["libx86_64_rust"], }, arm64: { rustlibs: ["libaarch64"], }, }, target: { host: { features: [ "gfxstream", "gpu", ], }, android: { shared_libs: [ "libprocessgroup", ], }, darwin: { enabled: false, }, host_linux: { features: [ "gdb", "gdbstub", ], rustlibs: [ "libgdbstub", "libgdbstub_arch", "libthiserror", ], shared_libs: [ "libprocessgroup", ], }, linux_bionic_arm64: { relative_install_path: "aarch64-linux-bionic", }, linux_glibc_x86_64: { relative_install_path: "x86_64-linux-gnu", }, linux_musl_x86_64: { relative_install_path: "x86_64-linux-musl", }, }, ld_flags: [ "-Wl,--rpath,\\$$ORIGIN", "-Wl,--rpath,\\$$ORIGIN/../../lib64", ], } rust_test { name: "crosvm_test_src_crosvm", defaults: ["crosvm_defaults"], host_supported: true, crate_name: "crosvm", cargo_env_compat: true, srcs: ["src/crosvm.rs"], test_suites: ["general-tests"], auto_gen_config: true, test_options: { unit_test: true, }, edition: "2021", features: [ "audio", "usb", ], rustlibs: [ "libacpi_tables", "libanyhow", "libarch", "libassertions", "libaudio_streams", "libbase_rust", "libbit_field", "libcfg_if", "libdata_model", "libdevices", "libdisk", "libhypervisor", "libkernel_cmdline", "libkernel_loader", "liblazy_static", "liblibc", "liblibcras", "libminijail_rust", "libnet_util", "libp9", "libresources", "librutabaga_gfx", "libserde_json", "libserde_keyvalue", "libsync_rust", "libtempfile", "libthiserror", "libuuid", "libvhost", "libvm_control", "libvm_memory", ], proc_macros: [ "libenumn", "libremain", ], arch: { x86_64: { rustlibs: ["libx86_64_rust"], }, arm64: { rustlibs: ["libaarch64"], }, }, target: { host: { features: [ "gfxstream", "gpu", ], }, host_linux: { features: [ "gdb", "gdbstub", ], rustlibs: [ "libgdbstub", "libgdbstub_arch", "libthiserror", ], }, }, ld_flags: [ "-Wl,--rpath,\\$$ORIGIN", "-Wl,--rpath,\\$$ORIGIN/../../lib64", ], } rust_test { name: "crosvm_test_src_main", defaults: ["crosvm_defaults"], host_supported: true, crate_name: "crosvm", cargo_env_compat: true, srcs: ["src/main.rs"], test_suites: ["general-tests"], auto_gen_config: true, test_options: { unit_test: true, }, edition: "2021", features: [ "audio", "usb", ], rustlibs: [ "libacpi_tables", "libanyhow", "libarch", "libassertions", "libaudio_streams", "libbase_rust", "libbit_field", "libcfg_if", "libcrosvm", "libdata_model", "libdevices", "libdisk", "libhypervisor", "libkernel_cmdline", "libkernel_loader", "liblazy_static", "liblibc", "liblibcras", "libminijail_rust", "libnet_util", "libp9", "libresources", "librutabaga_gfx", "libserde_json", "libserde_keyvalue", "libsync_rust", "libtempfile", "libthiserror", "libuuid", "libvhost", "libvm_control", "libvm_memory", ], proc_macros: [ "libenumn", "libremain", ], arch: { x86_64: { rustlibs: ["libx86_64_rust"], }, arm64: { rustlibs: ["libaarch64"], }, }, target: { host: { features: [ "gfxstream", "gpu", ], }, host_linux: { features: [ "gdb", "gdbstub", ], rustlibs: [ "libgdbstub", "libgdbstub_arch", "libthiserror", ], }, }, ld_flags: [ "-Wl,--rpath,\\$$ORIGIN", "-Wl,--rpath,\\$$ORIGIN/../../lib64", ], } rust_library { name: "libcrosvm", defaults: ["crosvm_defaults"], host_supported: true, crate_name: "crosvm", cargo_env_compat: true, srcs: ["src/crosvm.rs"], edition: "2021", features: [ "audio", "usb", ], rustlibs: [ "libacpi_tables", "libanyhow", "libarch", "libassertions", "libaudio_streams", "libbase_rust", "libbit_field", "libcfg_if", "libdata_model", "libdevices", "libdisk", "libhypervisor", "libkernel_cmdline", "libkernel_loader", "liblibc", "liblibcras", "libminijail_rust", "libnet_util", "libp9", "libresources", "librutabaga_gfx", "libserde_json", "libserde_keyvalue", "libsync_rust", "libtempfile", "libthiserror", "libuuid", "libvhost", "libvm_control", "libvm_memory", ], proc_macros: [ "libenumn", "libremain", ], arch: { x86_64: { rustlibs: ["libx86_64_rust"], }, arm64: { rustlibs: ["libaarch64"], }, }, target: { host: { features: [ "gfxstream", "gpu", ], }, android: { shared_libs: [ "libprocessgroup", ], }, host_linux: { features: [ "gdb", "gdbstub", ], rustlibs: [ "libgdbstub", "libgdbstub_arch", "libthiserror", ], shared_libs: [ "libprocessgroup", ], }, }, ld_flags: [ "-Wl,--rpath,\\$$ORIGIN", "-Wl,--rpath,\\$$ORIGIN/../../lib64", ], } rust_defaults { name: "crosvm_defaults", edition: "2018", enabled: false, target: { linux_glibc_x86_64: { enabled: true, }, linux_musl_x86_64: { enabled: true, }, android64: { compile_multilib: "64", enabled: true, }, linux_bionic_arm64: { enabled: true, }, darwin: { enabled: false, }, }, apex_available: [ "//apex_available:platform", "com.android.virt", ], }