Add ability to gather metrics to BubbleManager.
[chromium-blink-merge.git] / chrome / browser / ui / libgtk2ui / libgtk2ui.gyp
blob2d219fd1647cd7f0164cdb5bf2590f9be453a739
1 # Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 # Use of this source code is governed by a BSD-style license that can be
3 # found in the LICENSE file.
6   'variables': {
7     'chromium_code': 1,
8   },
9   'targets': [
10     {
11       # GN version: //chrome/browser/ui/libgtk2ui
12       'target_name': 'gtk2ui',
13       'type': '<(component)',
14       'dependencies': [
15         '../../../../base/base.gyp:base',
16         '../../../../base/base.gyp:base_i18n',
17         '../../../../base/third_party/dynamic_annotations/dynamic_annotations.gyp:dynamic_annotations',
18         '../../../../build/linux/system.gyp:gconf',
19         '../../../../build/linux/system.gyp:x11',
20         '../../../../components/components_resources.gyp:components_resources',
21         '../../../../content/content.gyp:content',
22         '../../../../printing/printing.gyp:cups',
23         '../../../../printing/printing.gyp:printing',
24         '../../../../skia/skia.gyp:skia',
25         '../../../../ui/aura/aura.gyp:aura',
26         '../../../../ui/base/ime/ui_base_ime.gyp:ui_base_ime',
27         '../../../../ui/base/ui_base.gyp:ui_base',
28         '../../../../ui/events/events.gyp:events',
29         '../../../../ui/events/events.gyp:events_base',
30         '../../../../ui/gfx/gfx.gyp:gfx',
31         '../../../../ui/gfx/x/gfx_x11.gyp:gfx_x11',
32         '../../../../ui/native_theme/native_theme.gyp:native_theme',
33         '../../../../ui/resources/ui_resources.gyp:ui_resources',
34         '../../../../ui/shell_dialogs/shell_dialogs.gyp:shell_dialogs',
35         '../../../../ui/strings/ui_strings.gyp:ui_strings',
36         '../../../../ui/views/views.gyp:views',
37         '../../../chrome_resources.gyp:chrome_extra_resources',
38         '../../../chrome_resources.gyp:chrome_resources',
39         '../../../chrome_resources.gyp:chrome_strings',
40         '../../../chrome_resources.gyp:theme_resources',
41       ],
42       'defines': [
43         'LIBGTK2UI_IMPLEMENTATION',
44       ],
45       # Several of our source files are named _gtk2.cc. This isn't to
46       # differentiate them from their source files (ninja and make are sane
47       # build systems, unlike MSVS). It is instead to get around the rest of
48       # the normal, global gtk exclusion rules, as we are otherwise using gtk
49       # in a non-gtk build.
50       'sources': [
51         # Note: sources list duplicated in GN build.
52         'app_indicator_icon.cc',
53         'app_indicator_icon.h',
54         'app_indicator_icon_menu.cc',
55         'app_indicator_icon_menu.h',
56         'chrome_gtk_frame.cc',
57         'chrome_gtk_frame.h',
58         'chrome_gtk_menu_subclasses.cc',
59         'chrome_gtk_menu_subclasses.h',
60         'g_object_destructor_filo.cc',
61         'g_object_destructor_filo.h',
62         'gconf_listener.cc',
63         'gconf_listener.h',
64         'gtk2_border.cc',
65         'gtk2_border.h',
66         'gtk2_event_loop.cc',
67         'gtk2_event_loop.h',
68         'gtk2_key_bindings_handler.cc',
69         'gtk2_key_bindings_handler.h',
70         'gtk2_signal_registrar.cc',
71         'gtk2_signal_registrar.h',
72         'gtk2_status_icon.cc',
73         'gtk2_status_icon.h',
74         'gtk2_ui.cc',
75         'gtk2_ui.h',
76         'gtk2_util.cc',
77         'gtk2_util.h',
78         'libgtk2ui_export.h',
79         'menu_util.cc',
80         'menu_util.h',
81         'native_theme_gtk2.cc',
82         'native_theme_gtk2.h',
83         'owned_widget_gtk2.cc',
84         'owned_widget_gtk2.h',
85         'print_dialog_gtk2.cc',
86         'print_dialog_gtk2.h',
87         'printing_gtk2_util.cc',
88         'printing_gtk2_util.h',
89         'select_file_dialog_impl.cc',
90         'select_file_dialog_impl.h',
91         'select_file_dialog_impl_gtk2.cc',
92         'select_file_dialog_impl_kde.cc',
93         'skia_utils_gtk2.cc',
94         'skia_utils_gtk2.h',
95         'unity_service.cc',
96         'unity_service.h',
97         'x11_input_method_context_impl_gtk2.cc',
98         'x11_input_method_context_impl_gtk2.h',
99       ],
100       'conditions': [
101         ['use_gconf==0', {
102           'sources!': [
103             'gconf_listener.cc',
104             'gconf_listener.h',
105           ],
106         }],
107         ['use_gtk3==1', {
108           'dependencies': [
109             '../../../../build/linux/system.gyp:gtk3',
110             '../../../../build/linux/system.gyp:gtkprint3',
111           ],
112         }, {
113           'dependencies': [
114             '../../../../build/linux/system.gyp:gtk2',
115             '../../../../build/linux/system.gyp:gtkprint2',
116           ],
117         }],
118         [ 'clang==1', {
119           'cflags': [
120             # G_DEFINE_TYPE automatically generates a *get_instance_private inline function after glib 2.37.
121             # That's unused. Prevent to complain about it.
122             '-Wno-unused-function',
124             # G_STATIC_ASSERT uses a typedef as a static_assert.
125             '-Wno-unused-local-typedef',
126           ],
127         }],
128       ],
129     },
130   ],