unplugged-system/external/crosvm/base/patches/Android.bp.patch

103 lines
3.8 KiB
Diff
Raw Normal View History

diff --git a/base/Android.bp b/base/Android.bp
index 734ab7c1..20f48f53 100644
--- a/base/Android.bp
+++ b/base/Android.bp
@@ -13,7 +13,7 @@ package {
rust_test {
name: "base_test_src_lib",
defaults: ["crosvm_inner_defaults"],
- host_supported: true,
+ host_supported: false, // Can't seem to access syslog in TH host tests.
crate_name: "base",
cargo_env_compat: true,
srcs: ["src/lib.rs"],
@@ -44,6 +44,25 @@ rust_test {
"libbase_event_token_derive",
"libremain",
],
+ target: {
+ android: {
+ rustlibs: ["libandroid_log_sys"],
+ },
+ linux_bionic_arm64: {
+ // For ARM architecture, we use aarch64-linux-android for BOTH
+ // device and host targets. As a result, host targets are also
+ // built with target_os = "android". Therefore, sys_util/src/android
+ // is used and thus this android module is required.
+ // This seems incorrect, but is inevitable because rustc doesn't
+ // yet support a Linux-based target using Bionic as libc. We can't
+ // use aarch64-unknown-linux-gnu because it's using glibc which
+ // we don't support for cross-host builds.
+ rustlibs: [
+ "libandroid_log_sys",
+ ],
+ },
+ },
+ shared_libs: ["libcap"], // specified in src/unix/capabilities.rs
}
rust_test {
@@ -86,7 +106,7 @@ rust_test {
rust_test {
name: "base_test_tests_unix_main",
defaults: ["crosvm_inner_defaults"],
- host_supported: true,
+ host_supported: false, // Can't seem to access syslog in TH host tests.
crate_name: "unix",
cargo_env_compat: true,
srcs: ["tests/unix/main.rs"],
@@ -118,6 +138,25 @@ rust_test {
"libbase_event_token_derive",
"libremain",
],
+ target: {
+ android: {
+ rustlibs: ["libandroid_log_sys"],
+ },
+ linux_bionic_arm64: {
+ // For ARM architecture, we use aarch64-linux-android for BOTH
+ // device and host targets. As a result, host targets are also
+ // built with target_os = "android". Therefore, sys_util/src/android
+ // is used and thus this android module is required.
+ // This seems incorrect, but is inevitable because rustc doesn't
+ // yet support a Linux-based target using Bionic as libc. We can't
+ // use aarch64-unknown-linux-gnu because it's using glibc which
+ // we don't support for cross-host builds.
+ rustlibs: [
+ "libandroid_log_sys",
+ ],
+ },
+ },
+ shared_libs: ["libcap"], // specified in src/unix/capabilities.rs
}
rust_library {
@@ -153,4 +192,23 @@ rust_library {
apex_available: [
"//apex_available:platform",
],
+ target: {
+ android: {
+ rustlibs: ["libandroid_log_sys"],
+ },
+ linux_bionic_arm64: {
+ // For ARM architecture, we use aarch64-linux-android for BOTH
+ // device and host targets. As a result, host targets are also
+ // built with target_os = "android". Therefore, sys_util/src/android
+ // is used and thus this android module is required.
+ // This seems incorrect, but is inevitable because rustc doesn't
+ // yet support a Linux-based target using Bionic as libc. We can't
+ // use aarch64-unknown-linux-gnu because it's using glibc which
+ // we don't support for cross-host builds.
+ rustlibs: [
+ "libandroid_log_sys",
+ ],
+ },
+ },
+ shared_libs: ["libcap"], // specified in src/unix/capabilities.rs
visibility: [
"//packages/modules/Virtualization/virtualizationmanager",
"//vendor:__subpackages__",
],
}