blob: a26ce41ff5105c6065efac26a86410e47a74d612 [file] [log] [blame]
# Copyright 2015 The Chromium 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("//build/config/linux/pkg_config.gni")
import("//build/config/ui.gni")
import("//ui/base/ui_features.gni")
import("//ui/ozone/ozone.gni")
if (use_xkbcommon) {
pkg_config("xkbcommon") {
packages = [ "xkbcommon" ]
}
}
if (use_ozone) {
pkg_config("libdrm") {
packages = [ "libdrm" ]
}
}
config("aura_shell_protocol_config") {
include_dirs = [ "." ]
}
source_set("aura_shell_protocol") {
sources = [
"aura-shell-client-protocol.h",
"aura-shell-server-protocol.h",
"aura-shell-protocol.c",
]
deps = [
"//third_party/wayland:wayland_util",
]
configs -= [ "//build/config/compiler:chromium_code" ]
configs += [ "//build/config/compiler:no_chromium_code" ]
public_configs = [ ":aura_shell_protocol_config" ]
}
source_set("wayland") {
sources = [
"scoped_wl.cc",
"scoped_wl.h",
"server.cc",
"server.h",
]
defines = [ "EXO_IMPLEMENTATION" ]
deps = [
":aura_shell_protocol",
"//ash",
"//ash/public/cpp:ash_public_cpp",
"//base",
"//components/exo",
"//device/gamepad",
"//skia",
"//third_party/wayland:wayland_server",
"//third_party/wayland-protocols:alpha_compositing_protocol",
"//third_party/wayland-protocols:gaming_input_protocol",
"//third_party/wayland-protocols:keyboard_configuration_protocol",
"//third_party/wayland-protocols:keyboard_extension_protocol",
"//third_party/wayland-protocols:presentation_time_protocol",
"//third_party/wayland-protocols:remote_shell_protocol",
"//third_party/wayland-protocols:secure_output_protocol",
"//third_party/wayland-protocols:stylus_protocol",
"//third_party/wayland-protocols:stylus_tools_protocol",
"//third_party/wayland-protocols:viewporter_protocol",
"//third_party/wayland-protocols:vsync_feedback_protocol",
"//third_party/wayland-protocols:xdg_shell_protocol",
"//ui/aura",
"//ui/base",
"//ui/display/manager",
"//ui/events:dom_keycode_converter",
"//ui/events:events_base",
"//ui/views",
"//ui/wm:wm",
]
if (use_ozone) {
deps += [
"//third_party/mesa:wayland_drm_protocol",
"//third_party/wayland-protocols:linux_dmabuf_protocol",
]
configs += [ ":libdrm" ]
if (is_chromeos) {
deps += [ "//ui/events/ozone:events_ozone_layout" ]
}
}
if (use_xkbcommon) {
configs += [ ":xkbcommon" ]
deps += [ "//ui/events/keycodes:xkb" ]
}
}
source_set("unit_tests") {
testonly = true
sources = [
"server_unittest.cc",
]
deps = [
":wayland",
"//base",
"//components/exo",
"//testing/gtest",
"//third_party/wayland:wayland_client",
]
}
source_set("client_lib") {
sources = [
"clients/client_base.cc",
"clients/client_base.h",
"clients/client_helper.cc",
"clients/client_helper.h",
]
deps = [
":aura_shell_protocol",
"//base",
"//skia",
"//third_party/wayland:wayland_client",
"//third_party/wayland-protocols:linux_dmabuf_protocol",
"//third_party/wayland-protocols:presentation_time_protocol",
"//ui/gl",
"//ui/gl/init",
]
if (ozone_platform_gbm) {
configs += [
":libdrm",
"//ui/gl:gl_config",
]
defines = [ "OZONE_PLATFORM_GBM" ]
deps += [
"//third_party/minigbm",
"//ui/ozone",
]
}
}
executable("wayland_rects_client") {
sources = [
"clients/rects.cc",
]
deps = [
":client_lib",
"//base",
"//build/config:exe_and_shlib_deps",
"//skia",
"//third_party/wayland:wayland_client",
"//third_party/wayland-protocols:linux_dmabuf_protocol",
"//third_party/wayland-protocols:presentation_time_protocol",
"//ui/gfx/geometry",
"//ui/gl",
]
if (ozone_platform_gbm) {
configs += [
":libdrm",
"//ui/gl:gl_config",
]
defines = [ "OZONE_PLATFORM_GBM" ]
deps += [ "//third_party/minigbm" ]
}
}
executable("wayland_simple_client") {
sources = [
"clients/simple.cc",
]
deps = [
":client_lib",
"//base",
"//build/config:exe_and_shlib_deps",
"//skia",
"//third_party/wayland:wayland_client",
"//third_party/wayland-protocols:linux_dmabuf_protocol",
"//third_party/wayland-protocols:presentation_time_protocol",
"//ui/gfx/geometry",
"//ui/gl",
]
if (ozone_platform_gbm) {
configs += [
":libdrm",
"//ui/gl:gl_config",
]
defines = [ "OZONE_PLATFORM_GBM" ]
deps += [ "//third_party/minigbm" ]
}
}
executable("wayland_subsurface_client") {
sources = [
"clients/subsurface.cc",
]
deps = [
":client_lib",
"//base",
"//build/config:exe_and_shlib_deps",
"//skia",
"//third_party/wayland:wayland_client",
"//third_party/wayland-protocols:linux_dmabuf_protocol",
"//third_party/wayland-protocols:presentation_time_protocol",
"//ui/gfx/geometry",
"//ui/gl",
]
if (ozone_platform_gbm) {
configs += [
":libdrm",
"//ui/gl:gl_config",
]
defines = [ "OZONE_PLATFORM_GBM" ]
deps += [ "//third_party/minigbm" ]
}
}
if (ozone_platform_gbm) {
executable("wayland_yuv_client") {
sources = [
"clients/yuv.cc",
]
deps = [
":client_lib",
"//base",
"//skia",
"//third_party/wayland:wayland_client",
"//third_party/wayland-protocols:linux_dmabuf_protocol",
"//third_party/wayland-protocols:presentation_time_protocol",
"//ui/gfx/geometry",
]
configs += [
":libdrm",
"//ui/gl:gl_config",
]
defines = [ "OZONE_PLATFORM_GBM" ]
deps += [ "//third_party/minigbm" ]
}
}