// This file is generated by cargo_embargo. // Do not modify this file after the first "rust_*" or "genrule" module // because the changes will be overridden on upgrade. // Content before the first "rust_*" or "genrule" module is preserved. // cargo2android.py limitations: // does not handle "-l dylib=wayland-client" yet // does not generate cc_library module yet // does not generate wayland_protocol_codegen module yet package { // See: http://go/android-license-faq // A large-scale-change added 'default_applicable_licenses' to import // all of the 'license_kinds' from "external_crosvm_license" // to get the below license kinds: // SPDX-license-identifier-BSD // SPDX-license-identifier-MIT default_applicable_licenses: ["external_crosvm_license"], } rust_library { name: "libgpu_display", defaults: ["crosvm_inner_defaults"], host_supported: true, crate_name: "gpu_display", cargo_env_compat: true, cargo_pkg_version: "0.1.0", crate_root: "src/lib.rs", edition: "2021", features: [ "android_display", "gfxstream", ], rustlibs: [ "libanyhow", "libbase_rust", "libcfg_if", "liblibc", "liblinux_input_sys", "libserde", "libsync_rust", "libthiserror", "libvm_control", "libzerocopy", ], proc_macros: ["libremain"], static_libs: ["libdisplay_wl"], // added manually target: { host: { shared_libs: ["libwayland_client"], features: ["android_display_stub"], }, android: { static_libs: [ "libwayland_client_static", "libffi", "libcrosvm_android_display_client", ], shared_libs: [ "libc++", "libbinder_ndk", "libnativewindow", ], }, }, } 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", ], export_generated_headers: [ "gpu_display_client_protocol_headers", ], // added manually target: { host: { shared_libs: ["libwayland_client"], }, android: { static_libs: [ "libwayland_client_static", "libffi", ], }, }, apex_available: [ "com.android.virt", ], } // We could use the modules provided in //external/wayland-protocols, except // // 1. virtio-gpu-metadata-v1.xml is missing // 2. crosvm expects a different header suffix wayland_protocol_codegen { name: "gpu_display_protocol_sources", cmd: "$(location wayland_scanner) private-code < $(in) > $(out)", suffix: ".c", srcs: [ ":wayland_extension_protocols", "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: [ ":wayland_extension_protocols", "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: [ ":wayland_extension_protocols", "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"], }