| # 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" ] |
| } |
| } |