1
0
Fork 0
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

145 lines
3.8 KiB

// This file is manually copied from old Android.bp
// 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_defaults"],
host_supported: true,
crate_name: "gpu_display",
srcs: ["src/lib.rs"],
edition: "2018",
rustlibs: [
"libbase_rust",
"libdata_model",
"liblibc",
"liblinux_input_sys",
],
static_libs: [
"libdisplay_wl",
],
// 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"],
}