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

import("//build/config/jumbo.gni")
import("//build/config/ui.gni")
import("//ui/ozone/ozone.gni")

assert(use_x11 || ozone_platform_x11)

jumbo_component("x") {
  output_name = "ui_base_x"

  sources = [
    "ui_base_x_export.h",
    "x11_menu_list.cc",
    "x11_menu_list.h",
    "x11_pointer_grab.cc",
    "x11_pointer_grab.h",
    "x11_util.cc",
    "x11_util.h",
    "x11_util_internal.h",
    "x11_window_event_manager.cc",
    "x11_window_event_manager.h",
  ]

  configs += [ "//build/config/linux:x11" ]

  defines = [ "UI_BASE_X_IMPLEMENTATION" ]

  deps = [
    "//base",
    "//base:i18n",
    "//skia",
    "//ui/events",
    "//ui/events/devices/x11",
    "//ui/events/keycodes:x11",
    "//ui/gfx",
    "//ui/gfx/x",
  ]
}
