| # Copyright 2014 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. |
| |
| assert(is_linux, "This file should only be referenced on Linux") |
| |
| import("//build/config/features.gni") |
| import("//build/config/jumbo.gni") |
| import("//build/config/linux/gtk/gtk.gni") |
| import("//printing/buildflags/buildflags.gni") |
| import("//ui/ozone/ozone.gni") |
| |
| jumbo_component("libgtkui") { |
| sources = [ |
| "gtk_key_bindings_handler.cc", |
| "gtk_key_bindings_handler.h", |
| "gtk_ui.cc", |
| "gtk_ui.h", |
| "gtk_util.cc", |
| "gtk_util.h", |
| "input_method_context_impl_gtk.cc", |
| "input_method_context_impl_gtk.h", |
| "libgtkui_export.h", |
| "native_theme_gtk.cc", |
| "native_theme_gtk.h", |
| "nav_button_provider_gtk.cc", |
| "nav_button_provider_gtk.h", |
| "print_dialog_gtk.cc", |
| "print_dialog_gtk.h", |
| "printing_gtk_util.cc", |
| "printing_gtk_util.h", |
| "select_file_dialog_impl.cc", |
| "select_file_dialog_impl.h", |
| "select_file_dialog_impl_gtk.cc", |
| "select_file_dialog_impl_gtk.h", |
| "select_file_dialog_impl_kde.cc", |
| "settings_provider.h", |
| "settings_provider_gtk.cc", |
| "settings_provider_gtk.h", |
| "skia_utils_gtk.cc", |
| "skia_utils_gtk.h", |
| "unity_service.cc", |
| "unity_service.h", |
| ] |
| |
| configs += [ |
| "//build/config/linux/pangocairo", |
| "//build/config/linux:x11", |
| ] |
| |
| if (use_gio) { |
| sources += [ |
| "settings_provider_gsettings.cc", |
| "settings_provider_gsettings.h", |
| ] |
| configs += [ "//build/linux:gio_config" ] |
| } |
| |
| if (use_cups) { |
| configs += [ "//printing:cups" ] |
| } |
| |
| defines = [ "LIBGTKUI_IMPLEMENTATION" ] |
| |
| deps = [ |
| "//base", |
| "//base:i18n", |
| "//base/third_party/dynamic_annotations", |
| "//build:branding_buildflags", |
| "//build/config/linux/gtk", |
| "//build/config/linux/gtk:gtkprint", |
| "//cc/paint", |
| "//chrome:extra_resources", |
| "//chrome:resources", |
| "//chrome:strings", |
| "//chrome/app:command_ids", |
| "//chrome/app/theme:theme_resources", |
| "//chrome/browser/ui/views", |
| "//chrome/common:buildflags", |
| "//chrome/common:constants", |
| "//components/prefs", |
| "//components/resources", |
| "//content/public/browser", |
| "//printing", |
| "//skia", |
| |
| # GTK pulls pangoft2, which requires HarfBuzz symbols. When linking |
| # our own HarfBuzz avoid mixing symbols from system HarfBuzz and |
| # our own through the indirect dependency to harfbuzz-ng here. |
| "//third_party:freetype_harfbuzz", |
| "//ui/aura", |
| "//ui/base", |
| "//ui/base/ime", |
| "//ui/base/ime/linux", |
| "//ui/display", |
| "//ui/events", |
| "//ui/events:dom_keyboard_layout", |
| "//ui/events:dom_keycode_converter", |
| "//ui/events:events_base", |
| "//ui/gfx", |
| "//ui/gfx/geometry", |
| "//ui/native_theme", |
| "//ui/resources", |
| "//ui/shell_dialogs", |
| "//ui/strings", |
| "//ui/views", |
| ] |
| public_deps = [ |
| "//chrome/browser:theme_properties", |
| ] |
| |
| if (use_x11 || ozone_platform_x11) { |
| sources += [ |
| "gtk_event_loop_x11.cc", |
| "gtk_event_loop_x11.h", |
| ] |
| |
| defines += [ "USE_GTK_EVENT_LOOP_X11" ] |
| |
| deps += [ |
| "//ui/events/platform/x11", |
| "//ui/gfx/x", |
| ] |
| } |
| |
| if (use_ozone) { |
| deps += [ "//ui/ozone" ] |
| } |
| } |