blob: 1934d99d23970744f766247a958789f7450d1481 [file] [log] [blame]
# Copyright 2019 The Chromium OS Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
import("wayland_protocol.gni")
group("all") {
deps = [ ":sommelier" ]
}
if (!defined(peer_cmd_prefix)) {
if (use.amd64) {
peer_cmd_prefix = "\"/opt/google/cros-containers/lib/ld-linux-x86-64.so.2 --library-path /opt/google/cros-containers/lib --inhibit-rpath \\\"\\\"\""
}
if (use.arm) {
peer_cmd_prefix = "\"/opt/google/cros-containers/lib/ld-linux-armhf.so.3 --library-path /opt/google/cros-containers/lib --inhibit-rpath \\\"\\\"\""
}
}
# Set this to the Xwayland path.
if (!defined(xwayland_path)) {
xwayland_path = "\"/opt/google/cros-containers/bin/Xwayland\""
}
# Set this to the GL driver path to use for Xwayland.
if (!defined(xwayland_gl_driver_path)) {
xwayland_gl_driver_path = "\"/opt/google/cros-containers/lib\""
}
# Set this to the shm driver to use for Xwayland.
if (!defined(xwayland_shm_driver)) {
xwayland_shm_driver = "\"virtwl\""
}
# Set this to the shm driver to use for wayland clients.
if (!defined(shm_driver)) {
shm_driver = "\"virtwl-dmabuf\""
}
# Set this to the virtwl device.
if (!defined(virtwl_device)) {
virtwl_device = "\"/dev/wl0\""
}
# Set this to the frame color to use for Xwayland clients.
if (!defined(frame_color)) {
frame_color = "\"#f2f2f2\""
}
# Set this to the dark frame color to use for Xwayland clients.
if (!defined(dark_frame_color)) {
dark_frame_color = "\"#323639\""
}
wayland_protocol_library("sommelier-protocol") {
out_dir = "include"
sources = [
"protocol/aura-shell.xml",
"protocol/drm.xml",
"protocol/gtk-shell.xml",
"protocol/keyboard-extension-unstable-v1.xml",
"protocol/linux-dmabuf-unstable-v1.xml",
"protocol/pointer-constraints-unstable-v1.xml",
"protocol/relative-pointer-unstable-v1.xml",
"protocol/text-input-unstable-v1.xml",
"protocol/viewporter.xml",
"protocol/xdg-shell-unstable-v6.xml",
]
}
executable("sommelier") {
pkg_deps = [
"gbm",
"libdrm",
"pixman-1",
"wayland-client",
"wayland-server",
"xcb",
"xcb-composite",
"xcb-xfixes",
"xkbcommon",
]
libs = [ "m" ]
deps = [ ":sommelier-protocol" ]
sources = [
"sommelier-compositor.cc",
"sommelier-data-device-manager.cc",
"sommelier-display.cc",
"sommelier-drm.cc",
"sommelier-gtk-shell.cc",
"sommelier-output.cc",
"sommelier-pointer-constraints.cc",
"sommelier-relative-pointer-manager.cc",
"sommelier-seat.cc",
"sommelier-shell.cc",
"sommelier-shm.cc",
"sommelier-subcompositor.cc",
"sommelier-text-input.cc",
"sommelier-tracing.cc",
"sommelier-viewporter.cc",
"sommelier-xdg-shell.cc",
"sommelier.cc",
]
defines = [
"_GNU_SOURCE",
"WL_HIDE_DEPRECATED",
"XWAYLAND_PATH=${xwayland_path}",
"XWAYLAND_GL_DRIVER_PATH=${xwayland_gl_driver_path}",
"XWAYLAND_SHM_DRIVER=${xwayland_shm_driver}",
"SHM_DRIVER=${shm_driver}",
"VIRTWL_DEVICE=${virtwl_device}",
"PEER_CMD_PREFIX=${peer_cmd_prefix}",
"FRAME_COLOR=${frame_color}",
"DARK_FRAME_COLOR=${dark_frame_color}",
]
}