# Copyright 2016 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.

visibility = [ "//ui/ozone/*" ]

import("//build/config/linux/pkg_config.gni")

pkg_config("wayland-egl") {
  packages = [ "wayland-egl" ]
}

source_set("wayland") {
  sources = [
    "client_native_pixmap_factory_wayland.cc",
    "client_native_pixmap_factory_wayland.h",
    "gl_surface_wayland.cc",
    "gl_surface_wayland.h",
    "ozone_platform_wayland.cc",
    "ozone_platform_wayland.h",
    "wayland_connection.cc",
    "wayland_connection.h",
    "wayland_object.cc",
    "wayland_object.h",
    "wayland_output.cc",
    "wayland_output.h",
    "wayland_pointer.cc",
    "wayland_pointer.h",
    "wayland_surface_factory.cc",
    "wayland_surface_factory.h",
    "wayland_window.cc",
    "wayland_window.h",
  ]

  deps = [
    "//base",
    "//skia",
    "//third_party/wayland:wayland_client",
    "//third_party/wayland-protocols:xdg_shell_protocol",
    "//ui/display",
    "//ui/events",
    "//ui/events/platform",
    "//ui/gfx",
    "//ui/gfx/geometry",
    "//ui/ozone:ozone_base",
    "//ui/ozone/common",
    "//ui/platform_window",
  ]

  defines = [ "OZONE_IMPLEMENTATION" ]

  configs += [
    ":wayland-egl",
    "//third_party/khronos:khronos_headers",
  ]
}

source_set("wayland_unittests") {
  testonly = true

  sources = [
    "fake_server.cc",
    "fake_server.h",
    "mock_platform_window_delegate.cc",
    "wayland_connection_unittest.cc",
    "wayland_pointer_unittest.cc",
    "wayland_surface_factory_unittest.cc",
    "wayland_test.cc",
    "wayland_test.h",
    "wayland_window_unittest.cc",
  ]

  deps = [
    ":wayland",
    "//testing/gmock",
    "//testing/gtest",
    "//third_party/wayland:wayland_server",
    "//third_party/wayland-protocols:xdg_shell_protocol",
    "//ui/gfx:test_support",
    "//ui/ozone:platform",
  ]

  defines = [ "WL_HIDE_DEPRECATED" ]
}
