Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(117)

Unified Diff: chrome/browser/ui/libgtkui/BUILD.gn

Issue 2449243002: Gtk3 ui: Add libgtk3ui as a separate build component (Closed)
Patch Set: Add theme_properties dep to //chrome/browser/ui Created 4 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: chrome/browser/ui/libgtkui/BUILD.gn
diff --git a/chrome/browser/ui/libgtkui/BUILD.gn b/chrome/browser/ui/libgtkui/BUILD.gn
new file mode 100644
index 0000000000000000000000000000000000000000..d970a80b5461c203fe5c38654378039314d5f165
--- /dev/null
+++ b/chrome/browser/ui/libgtkui/BUILD.gn
@@ -0,0 +1,149 @@
+# 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/ui.gni")
+
+# gn orders flags on a target before flags from configs. The default config
+# adds -Wall, and these flags have to be after -Wall -- so they need to come
+# from a config and can't be on the target directly.
+config("libgtkui_warnings") {
+ if (is_clang) {
+ cflags = [
+ # G_DEFINE_TYPE automatically generates a *get_instance_private inline
+ # function after glib 2.37. That's unused. Prevent to complain about it.
+ "-Wno-unused-function",
+
+ # G_STATIC_ASSERT uses a typedef as a static_assert.
+ "-Wno-unused-local-typedef",
+ ]
+ }
+}
+
+common_sources = [
+ "app_indicator_icon.cc",
+ "app_indicator_icon.h",
+ "app_indicator_icon_menu.cc",
+ "app_indicator_icon_menu.h",
+ "chrome_gtk_frame.cc",
+ "chrome_gtk_frame.h",
+ "chrome_gtk_menu_subclasses.cc",
+ "chrome_gtk_menu_subclasses.h",
+ "gtk2_event_loop.cc",
+ "gtk2_event_loop.h",
+ "gtk2_key_bindings_handler.cc",
+ "gtk2_key_bindings_handler.h",
+ "gtk2_status_icon.cc",
+ "gtk2_status_icon.h",
+ "gtk2_ui.cc",
+ "gtk2_ui.h",
+ "gtk2_util.cc",
+ "gtk2_util.h",
+ "libgtkui_export.h",
+ "menu_util.cc",
+ "menu_util.h",
+ "native_theme_gtk2.cc",
+ "native_theme_gtk2.h",
+ "print_dialog_gtk2.cc",
+ "print_dialog_gtk2.h",
+ "printing_gtk2_util.cc",
+ "printing_gtk2_util.h",
+ "select_file_dialog_impl.cc",
+ "select_file_dialog_impl.h",
+ "select_file_dialog_impl_gtk2.cc",
+ "select_file_dialog_impl_gtk2.h",
+ "select_file_dialog_impl_kde.cc",
+ "skia_utils_gtk2.cc",
+ "skia_utils_gtk2.h",
+ "unity_service.cc",
+ "unity_service.h",
+ "x11_input_method_context_impl_gtk2.cc",
+ "x11_input_method_context_impl_gtk2.h",
+]
+
+common_configs = []
+
+if (use_gconf) {
+ common_sources += [
+ "gconf_listener.cc",
+ "gconf_listener.h",
+ ]
+ common_configs += [ "//build/config/linux/gconf" ]
+}
+
+if (use_cups) {
+ common_configs += [ "//printing:cups" ]
+}
+
+common_configs += [
+ ":libgtkui_warnings",
+ "//build/config/linux:x11",
+]
+
+common_deps = [
+ "//base",
+ "//base:i18n",
+ "//base/third_party/dynamic_annotations",
+ "//chrome:extra_resources",
+ "//chrome:resources",
+ "//chrome:strings",
+ "//chrome/app:command_ids",
+ "//chrome/app/theme:theme_resources",
+ "//components/resources",
+ "//content/public/browser",
+ "//printing",
+ "//skia",
+ "//ui/aura",
+ "//ui/base",
+ "//ui/base/ime",
+ "//ui/display",
+ "//ui/events",
+ "//ui/events:events_base",
+ "//ui/events/platform/x11",
+ "//ui/gfx",
+ "//ui/gfx/geometry",
+ "//ui/gfx/x",
+ "//ui/native_theme",
+ "//ui/resources",
+ "//ui/shell_dialogs",
+ "//ui/strings",
+ "//ui/views",
+]
+
+component("libgtk2ui") {
+ sources = common_sources
+ configs += common_configs
+ defines = [ "LIBGTKUI_IMPLEMENTATION" ]
+
+ # GTK2 pulls pangoft2 as dependency, and pangoft2 depends on harfbuzz.
+ # To avoid missing indirectly referenced harfbuzz symbols from pango,
+ # some hack is required when bundled harfbuzz is used and component build is
+ # disabled.
+ # See crbug.com/462689 for details.
+ all_dependent_configs = [ "//third_party/harfbuzz-ng:pangoft2_link_hack" ]
+
+ deps = common_deps + [
+ "//build/config/linux/gtk2",
+ "//build/config/linux/gtk2:gtkprint2",
+ ]
+ public_deps = [
+ "//chrome/browser:theme_properties",
+ ]
+}
+
+component("libgtk3ui") {
+ sources = common_sources
+ configs += common_configs
+ defines = [ "LIBGTKUI_IMPLEMENTATION" ]
+
+ deps = common_deps + [
+ "//build/config/linux/gtk3",
+ "//build/config/linux/gtk3:gtkprint3",
+ ]
+ public_deps = [
+ "//chrome/browser:theme_properties",
+ ]
+}
« no previous file with comments | « chrome/browser/ui/libgtk2ui/x11_input_method_context_impl_gtk2.cc ('k') | chrome/browser/ui/libgtkui/OWNERS » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698