diff options
author | Frederick Mayle <fmayle@google.com> | 2022-04-08 17:43:37 +0000 |
---|---|---|
committer | Frederick Mayle <fmayle@google.com> | 2022-04-14 16:13:53 +0000 |
commit | 769e04f878c479d424b155b8dd32e12e735242be (patch) | |
tree | fc3e6afe595094f5369bb5443f9bdeee9615a680 | |
parent | 7445e2d4becdf85b2946cd7b27a22dd2de562ff3 (diff) | |
download | crosvm-769e04f878c479d424b155b8dd32e12e735242be.tar.gz |
Re-enable cargo2android for gpu_display
This reduces the risk of the build modules going out of sync with the
cargo.toml.
I made some minor and safe looking changes to the Android.bp to reduce
the size of the patch.
Test: all2android.sh
Bug: 226645768
Change-Id: I7dcac31518299e1cef05587ea10e6744170ea72f
-rw-r--r-- | gpu_display/Android.bp | 15 | ||||
-rw-r--r-- | gpu_display/cargo2android.json | 9 | ||||
-rw-r--r-- | gpu_display/patches/Android.bp.patch | 121 |
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"], + } |