1*bb4ee6a4SAndroid Build Coastguard Workerdiff --git a/base/Android.bp b/base/Android.bp 2*bb4ee6a4SAndroid Build Coastguard Workerindex 734ab7c1..20f48f53 100644 3*bb4ee6a4SAndroid Build Coastguard Worker--- a/base/Android.bp 4*bb4ee6a4SAndroid Build Coastguard Worker+++ b/base/Android.bp 5*bb4ee6a4SAndroid Build Coastguard Worker@@ -13,7 +13,7 @@ package { 6*bb4ee6a4SAndroid Build Coastguard Worker rust_test { 7*bb4ee6a4SAndroid Build Coastguard Worker name: "base_test_src_lib", 8*bb4ee6a4SAndroid Build Coastguard Worker defaults: ["crosvm_inner_defaults"], 9*bb4ee6a4SAndroid Build Coastguard Worker- host_supported: true, 10*bb4ee6a4SAndroid Build Coastguard Worker+ host_supported: false, // Can't seem to access syslog in TH host tests. 11*bb4ee6a4SAndroid Build Coastguard Worker crate_name: "base", 12*bb4ee6a4SAndroid Build Coastguard Worker cargo_env_compat: true, 13*bb4ee6a4SAndroid Build Coastguard Worker srcs: ["src/lib.rs"], 14*bb4ee6a4SAndroid Build Coastguard Worker@@ -44,6 +44,25 @@ rust_test { 15*bb4ee6a4SAndroid Build Coastguard Worker "libbase_event_token_derive", 16*bb4ee6a4SAndroid Build Coastguard Worker "libremain", 17*bb4ee6a4SAndroid Build Coastguard Worker ], 18*bb4ee6a4SAndroid Build Coastguard Worker+ target: { 19*bb4ee6a4SAndroid Build Coastguard Worker+ android: { 20*bb4ee6a4SAndroid Build Coastguard Worker+ rustlibs: ["libandroid_log_sys"], 21*bb4ee6a4SAndroid Build Coastguard Worker+ }, 22*bb4ee6a4SAndroid Build Coastguard Worker+ linux_bionic_arm64: { 23*bb4ee6a4SAndroid Build Coastguard Worker+ // For ARM architecture, we use aarch64-linux-android for BOTH 24*bb4ee6a4SAndroid Build Coastguard Worker+ // device and host targets. As a result, host targets are also 25*bb4ee6a4SAndroid Build Coastguard Worker+ // built with target_os = "android". Therefore, sys_util/src/android 26*bb4ee6a4SAndroid Build Coastguard Worker+ // is used and thus this android module is required. 27*bb4ee6a4SAndroid Build Coastguard Worker+ // This seems incorrect, but is inevitable because rustc doesn't 28*bb4ee6a4SAndroid Build Coastguard Worker+ // yet support a Linux-based target using Bionic as libc. We can't 29*bb4ee6a4SAndroid Build Coastguard Worker+ // use aarch64-unknown-linux-gnu because it's using glibc which 30*bb4ee6a4SAndroid Build Coastguard Worker+ // we don't support for cross-host builds. 31*bb4ee6a4SAndroid Build Coastguard Worker+ rustlibs: [ 32*bb4ee6a4SAndroid Build Coastguard Worker+ "libandroid_log_sys", 33*bb4ee6a4SAndroid Build Coastguard Worker+ ], 34*bb4ee6a4SAndroid Build Coastguard Worker+ }, 35*bb4ee6a4SAndroid Build Coastguard Worker+ }, 36*bb4ee6a4SAndroid Build Coastguard Worker+ shared_libs: ["libcap"], // specified in src/linux/capabilities.rs 37*bb4ee6a4SAndroid Build Coastguard Worker } 38*bb4ee6a4SAndroid Build Coastguard Worker 39*bb4ee6a4SAndroid Build Coastguard Worker rust_test { 40*bb4ee6a4SAndroid Build Coastguard Worker@@ -86,7 +106,7 @@ rust_test { 41*bb4ee6a4SAndroid Build Coastguard Worker rust_test { 42*bb4ee6a4SAndroid Build Coastguard Worker name: "base_test_tests_linux_main", 43*bb4ee6a4SAndroid Build Coastguard Worker defaults: ["crosvm_inner_defaults"], 44*bb4ee6a4SAndroid Build Coastguard Worker- host_supported: true, 45*bb4ee6a4SAndroid Build Coastguard Worker+ host_supported: false, // Can't seem to access syslog in TH host tests. 46*bb4ee6a4SAndroid Build Coastguard Worker crate_name: "linux", 47*bb4ee6a4SAndroid Build Coastguard Worker cargo_env_compat: true, 48*bb4ee6a4SAndroid Build Coastguard Worker srcs: ["tests/linux/main.rs"], 49*bb4ee6a4SAndroid Build Coastguard Worker@@ -118,6 +138,25 @@ rust_test { 50*bb4ee6a4SAndroid Build Coastguard Worker "libbase_event_token_derive", 51*bb4ee6a4SAndroid Build Coastguard Worker "libremain", 52*bb4ee6a4SAndroid Build Coastguard Worker ], 53*bb4ee6a4SAndroid Build Coastguard Worker+ target: { 54*bb4ee6a4SAndroid Build Coastguard Worker+ android: { 55*bb4ee6a4SAndroid Build Coastguard Worker+ rustlibs: ["libandroid_log_sys"], 56*bb4ee6a4SAndroid Build Coastguard Worker+ }, 57*bb4ee6a4SAndroid Build Coastguard Worker+ linux_bionic_arm64: { 58*bb4ee6a4SAndroid Build Coastguard Worker+ // For ARM architecture, we use aarch64-linux-android for BOTH 59*bb4ee6a4SAndroid Build Coastguard Worker+ // device and host targets. As a result, host targets are also 60*bb4ee6a4SAndroid Build Coastguard Worker+ // built with target_os = "android". Therefore, sys_util/src/android 61*bb4ee6a4SAndroid Build Coastguard Worker+ // is used and thus this android module is required. 62*bb4ee6a4SAndroid Build Coastguard Worker+ // This seems incorrect, but is inevitable because rustc doesn't 63*bb4ee6a4SAndroid Build Coastguard Worker+ // yet support a Linux-based target using Bionic as libc. We can't 64*bb4ee6a4SAndroid Build Coastguard Worker+ // use aarch64-unknown-linux-gnu because it's using glibc which 65*bb4ee6a4SAndroid Build Coastguard Worker+ // we don't support for cross-host builds. 66*bb4ee6a4SAndroid Build Coastguard Worker+ rustlibs: [ 67*bb4ee6a4SAndroid Build Coastguard Worker+ "libandroid_log_sys", 68*bb4ee6a4SAndroid Build Coastguard Worker+ ], 69*bb4ee6a4SAndroid Build Coastguard Worker+ }, 70*bb4ee6a4SAndroid Build Coastguard Worker+ }, 71*bb4ee6a4SAndroid Build Coastguard Worker+ shared_libs: ["libcap"], // specified in src/linux/capabilities.rs 72*bb4ee6a4SAndroid Build Coastguard Worker } 73*bb4ee6a4SAndroid Build Coastguard Worker 74*bb4ee6a4SAndroid Build Coastguard Worker rust_library { 75*bb4ee6a4SAndroid Build Coastguard Worker@@ -153,4 +192,23 @@ rust_library { 76*bb4ee6a4SAndroid Build Coastguard Worker apex_available: [ 77*bb4ee6a4SAndroid Build Coastguard Worker "//apex_available:platform", 78*bb4ee6a4SAndroid Build Coastguard Worker ], 79*bb4ee6a4SAndroid Build Coastguard Worker+ target: { 80*bb4ee6a4SAndroid Build Coastguard Worker+ android: { 81*bb4ee6a4SAndroid Build Coastguard Worker+ rustlibs: ["libandroid_log_sys"], 82*bb4ee6a4SAndroid Build Coastguard Worker+ }, 83*bb4ee6a4SAndroid Build Coastguard Worker+ linux_bionic_arm64: { 84*bb4ee6a4SAndroid Build Coastguard Worker+ // For ARM architecture, we use aarch64-linux-android for BOTH 85*bb4ee6a4SAndroid Build Coastguard Worker+ // device and host targets. As a result, host targets are also 86*bb4ee6a4SAndroid Build Coastguard Worker+ // built with target_os = "android". Therefore, sys_util/src/android 87*bb4ee6a4SAndroid Build Coastguard Worker+ // is used and thus this android module is required. 88*bb4ee6a4SAndroid Build Coastguard Worker+ // This seems incorrect, but is inevitable because rustc doesn't 89*bb4ee6a4SAndroid Build Coastguard Worker+ // yet support a Linux-based target using Bionic as libc. We can't 90*bb4ee6a4SAndroid Build Coastguard Worker+ // use aarch64-unknown-linux-gnu because it's using glibc which 91*bb4ee6a4SAndroid Build Coastguard Worker+ // we don't support for cross-host builds. 92*bb4ee6a4SAndroid Build Coastguard Worker+ rustlibs: [ 93*bb4ee6a4SAndroid Build Coastguard Worker+ "libandroid_log_sys", 94*bb4ee6a4SAndroid Build Coastguard Worker+ ], 95*bb4ee6a4SAndroid Build Coastguard Worker+ }, 96*bb4ee6a4SAndroid Build Coastguard Worker+ }, 97*bb4ee6a4SAndroid Build Coastguard Worker+ shared_libs: ["libcap"], // specified in src/linux/capabilities.rs 98*bb4ee6a4SAndroid Build Coastguard Worker visibility: ["//vendor:__subpackages__"], 99*bb4ee6a4SAndroid Build Coastguard Worker } 100