aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFrederick Mayle <fmayle@google.com>2022-04-14 19:27:17 +0000
committerAutomerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>2022-04-14 19:27:17 +0000
commiteca1bb4b4d6df75891db3b7e0922f0f9fa0cc87b (patch)
treefc3e6afe595094f5369bb5443f9bdeee9615a680
parent52b59a7e60b52d8b0f92a9130fbf89f54319ef59 (diff)
parent27b5bebe28a42d4497e7017014d2e62e4c248dda (diff)
downloadcrosvm-eca1bb4b4d6df75891db3b7e0922f0f9fa0cc87b.tar.gz
Re-enable cargo2android for gpu_display am: 769e04f878 am: 3038086943 am: 27b5bebe28
Original change: https://android-review.googlesource.com/c/platform/external/crosvm/+/2059122 Change-Id: I9be747b0fa87a484251500d474eee82c4cf17ace Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
-rw-r--r--gpu_display/Android.bp15
-rw-r--r--gpu_display/cargo2android.json9
-rw-r--r--gpu_display/patches/Android.bp.patch121
3 files changed, 136 insertions, 9 deletions
diff --git a/gpu_display/Android.bp b/gpu_display/Android.bp
index f4f3ac27d..825193365 100644
--- a/gpu_display/Android.bp
+++ b/gpu_display/Android.bp
@@ -1,4 +1,5 @@
-// This file is manually copied from old Android.bp
+// This file is generated by cargo2android.py --config cargo2android.json.
+// Do not modify this file as changes will be overridden on upgrade.
// cargo2android.py limitations:
// does not handle "-l dylib=wayland-client" yet
@@ -20,8 +21,10 @@ rust_library {
defaults: ["crosvm_defaults"],
host_supported: true,
crate_name: "gpu_display",
+ cargo_env_compat: true,
+ cargo_pkg_version: "0.1.0",
srcs: ["src/lib.rs"],
- edition: "2018",
+ edition: "2021",
rustlibs: [
"libbase_rust",
"libdata_model",
@@ -29,12 +32,8 @@ rust_library {
"liblinux_input_sys",
"libthiserror",
],
- static_libs: [
- "libdisplay_wl",
- ],
- proc_macros: [
- "libremain",
- ],
+ proc_macros: ["libremain"],
+ static_libs: ["libdisplay_wl"],
// added manually
target: {
diff --git a/gpu_display/cargo2android.json b/gpu_display/cargo2android.json
index 9e26dfeeb..26b463aba 100644
--- a/gpu_display/cargo2android.json
+++ b/gpu_display/cargo2android.json
@@ -1 +1,8 @@
-{} \ No newline at end of file
+{
+ "run": true,
+ "device": true,
+ "tests": true,
+ "global_defaults": "crosvm_defaults",
+ "add_workspace": true,
+ "patch": "patches/Android.bp.patch"
+}
diff --git a/gpu_display/patches/Android.bp.patch b/gpu_display/patches/Android.bp.patch
new file mode 100644
index 000000000..f03d8de51
--- /dev/null
+++ b/gpu_display/patches/Android.bp.patch
@@ -0,0 +1,121 @@
+diff --git b/gpu_display/Android.bp a/gpu_display/Android.bp
+--- b/gpu_display/Android.bp
++++ a/gpu_display/Android.bp
+@@ -32,7 +32,116 @@ rust_library {
+ "liblinux_input_sys",
+ "libthiserror",
+ ],
+ proc_macros: ["libremain"],
+ static_libs: ["libdisplay_wl"],
+- shared_libs: ["libwayland-client"],
++
++ // added manually
++ target: {
++ host: {
++ shared_libs: ["libwayland_client"],
++ },
++ android: {
++ static_libs: [
++ "libwayland_client_static",
++ "libffi",
++ ],
++ },
++ },
++}
++
++cc_library_static {
++ name: "libdisplay_wl",
++ host_supported: true,
++ c_std: "c11",
++ srcs: ["src/display_wl.c"],
++
++ generated_sources: [
++ "gpu_display_protocol_sources",
++ "wayland_extension_protocol_sources",
++ ],
++ generated_headers: [
++ "gpu_display_client_protocol_headers",
++ "wayland_extension_client_protocol_headers",
++ ],
++ export_generated_headers: [
++ "gpu_display_client_protocol_headers",
++ "wayland_extension_client_protocol_headers",
++ ],
++
++ // added manually
++ target: {
++ host: {
++ shared_libs: ["libwayland_client"],
++ },
++ android: {
++ static_libs: [
++ "libwayland_client_static",
++ "libffi",
++ ],
++ },
++ linux_glibc_x86: {
++ // libffi broken on x86, see b/162610242
++ enabled: false,
++ },
++ },
++ apex_available: [
++ "//apex_available:platform",
++ "com.android.virt",
++ ],
++}
++
++wayland_protocol_codegen {
++ name: "gpu_display_protocol_sources",
++ cmd: "$(location wayland_scanner) private-code < $(in) > $(out)",
++ suffix: ".c",
++ srcs: [
++ "protocol/aura-shell.xml",
++ "protocol/linux-dmabuf-unstable-v1.xml",
++ "protocol/viewporter.xml",
++ "protocol/virtio-gpu-metadata-v1.xml",
++ ],
++ tools: ["wayland_scanner"],
++}
++
++wayland_protocol_codegen {
++ name: "gpu_display_client_protocol_headers",
++ cmd: "$(location wayland_scanner) client-header < $(in) > $(out)",
++ suffix: ".h",
++ srcs: [
++ "protocol/aura-shell.xml",
++ "protocol/linux-dmabuf-unstable-v1.xml",
++ "protocol/viewporter.xml",
++ "protocol/virtio-gpu-metadata-v1.xml",
++ ],
++ tools: ["wayland_scanner"],
++}
++
++wayland_protocol_codegen {
++ name: "gpu_display_server_protocol_headers",
++ cmd: "$(location wayland_scanner) server-header < $(in) > $(out)",
++ suffix: ".h",
++ srcs: [
++ "protocol/aura-shell.xml",
++ "protocol/linux-dmabuf-unstable-v1.xml",
++ "protocol/viewporter.xml",
++ "protocol/virtio-gpu-metadata-v1.xml",
++ ],
++ tools: ["wayland_scanner"],
++}
++
++cc_library_static {
++ name: "libwayland_crosvm_gpu_display_extension_server_protocols",
++ vendor_available: true,
++ host_supported: true,
++ cflags: [
++ "-Wall",
++ "-Wextra",
++ "-Werror",
++ "-g",
++ "-fvisibility=hidden",
++ ],
++ static_libs: ["libwayland_server"],
++ generated_sources: ["gpu_display_protocol_sources"],
++ generated_headers: ["gpu_display_server_protocol_headers"],
++ export_generated_headers: ["gpu_display_server_protocol_headers"],
+ }