| 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"], |
| } |