Update gpu_display build for new Wayland extension

... so that Wayland compositors (Cuttlefish's streaming server)
can exactly associate Wayland surfaces with scanouts/displays

Bug: b/188904670
Test: launch_cvd
Test: launch_cvd --gpu_mode=gfxstream
Change-Id: I6f8ad9a965e87e39749bea163338327c32f1e6b1
diff --git a/gpu_display/Android.bp b/gpu_display/Android.bp
index e30f661..9704970 100644
--- a/gpu_display/Android.bp
+++ b/gpu_display/Android.bp
@@ -95,6 +95,7 @@
         "protocol/aura-shell.xml",
         "protocol/linux-dmabuf-unstable-v1.xml",
         "protocol/viewporter.xml",
+        "protocol/virtio-gpu-metadata-v1.xml",
     ],
     tools: ["wayland_scanner"],
 }
@@ -107,10 +108,41 @@
         "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"],
+}
+
 // dependent_library ["feature_list"]
 //   ../assertions/src/lib.rs
 //   ../base/src/lib.rs