xref: /aosp_15_r20/external/crosvm/base/patches/Android.bp.patch (revision bb4ee6a4ae7042d18b07a98463b9c8b875e44b39)
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