xref: /aosp_15_r20/external/crosvm/gpu_display/cargo2android.bp (revision bb4ee6a4ae7042d18b07a98463b9c8b875e44b39)
1cc_library_static {
2    name: "libdisplay_wl",
3    host_supported: true,
4    c_std: "c11",
5    srcs: ["src/display_wl.c"],
6
7    generated_sources: [
8        "gpu_display_protocol_sources",
9        "wayland_extension_protocol_sources",
10    ],
11    generated_headers: [
12        "gpu_display_client_protocol_headers",
13    ],
14    export_generated_headers: [
15        "gpu_display_client_protocol_headers",
16    ],
17
18    // added manually
19    target: {
20        host: {
21            shared_libs: ["libwayland_client"],
22        },
23        android: {
24            static_libs: [
25                "libwayland_client_static",
26                "libffi",
27            ],
28        },
29    },
30    apex_available: [
31        "com.android.virt",
32    ],
33}
34
35// We could use the modules provided in //external/wayland-protocols, except
36//
37//  1. virtio-gpu-metadata-v1.xml is missing
38//  2. crosvm expects a different header suffix
39
40wayland_protocol_codegen {
41    name: "gpu_display_protocol_sources",
42    cmd: "$(location wayland_scanner) private-code < $(in) > $(out)",
43    suffix: ".c",
44    srcs: [
45        ":wayland_extension_protocols",
46        "protocol/virtio-gpu-metadata-v1.xml",
47    ],
48    tools: ["wayland_scanner"],
49}
50
51wayland_protocol_codegen {
52    name: "gpu_display_client_protocol_headers",
53    cmd: "$(location wayland_scanner) client-header < $(in) > $(out)",
54    suffix: ".h",
55    srcs: [
56        ":wayland_extension_protocols",
57        "protocol/virtio-gpu-metadata-v1.xml",
58    ],
59    tools: ["wayland_scanner"],
60}
61
62wayland_protocol_codegen {
63    name: "gpu_display_server_protocol_headers",
64    cmd: "$(location wayland_scanner) server-header < $(in) > $(out)",
65    suffix: ".h",
66    srcs: [
67        ":wayland_extension_protocols",
68        "protocol/virtio-gpu-metadata-v1.xml",
69    ],
70    tools: ["wayland_scanner"],
71}
72
73cc_library_static {
74    name: "libwayland_crosvm_gpu_display_extension_server_protocols",
75    vendor_available: true,
76    host_supported: true,
77    cflags: [
78        "-Wall",
79        "-Wextra",
80        "-Werror",
81        "-g",
82        "-fvisibility=hidden",
83    ],
84    static_libs: ["libwayland_server"],
85    generated_sources: ["gpu_display_protocol_sources"],
86    generated_headers: ["gpu_display_server_protocol_headers"],
87    export_generated_headers: ["gpu_display_server_protocol_headers"],
88}
89