Fix the coverage build which used to complain about the missing pyautolib target.
[chromium-blink-merge.git] / ui / ui.gyp
bloba5a0172002c1c3797a63dc4e07cef07d32df3f92
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   'includes': [
10     'shell_dialogs.gypi',
11     'ui_resources.gypi',
12     'ui_unittests.gypi',
13   ],
14   'targets': [
15     {
16       'target_name': 'ui',
17       'type': '<(component)',
18       'dependencies': [
19         '../base/base.gyp:base',
20         '../base/base.gyp:base_i18n',
21         '../base/base.gyp:base_static',
22         '../base/third_party/dynamic_annotations/dynamic_annotations.gyp:dynamic_annotations',
23         '../net/net.gyp:net',
24         '../skia/skia.gyp:skia',
25         '../third_party/icu/icu.gyp:icui18n',
26         '../third_party/icu/icu.gyp:icuuc',
27         '../third_party/libpng/libpng.gyp:libpng',
28         '../third_party/zlib/zlib.gyp:zlib',
29         '../url/url.gyp:url_lib',
30         'base/strings/ui_strings.gyp:ui_strings',
31         'events/events.gyp:events',
32         'gfx/gfx.gyp:gfx',
33         'ui_resources',
34       ],
35       'defines': [
36         'UI_IMPLEMENTATION',
37       ],
38       # Export these dependencies since text_elider.h includes ICU headers.
39       'export_dependent_settings': [
40         '../net/net.gyp:net',
41         '../third_party/icu/icu.gyp:icui18n',
42         '../third_party/icu/icu.gyp:icuuc',
43         'events/events.gyp:events',
44         'gfx/gfx.gyp:gfx',
45       ],
46       'sources' : [
47         'android/ui_jni_registrar.cc',
48         'android/ui_jni_registrar.h',
49         'android/view_android.cc',
50         'android/view_android.h',
51         'android/window_android.cc',
52         'android/window_android.h',
53         'base/accelerators/accelerator.cc',
54         'base/accelerators/accelerator.h',
55         'base/accelerators/menu_label_accelerator_util_linux.cc',
56         'base/accelerators/menu_label_accelerator_util_linux.h',
57         'base/accelerators/platform_accelerator.h',
58         'base/accelerators/platform_accelerator_cocoa.h',
59         'base/accelerators/platform_accelerator_cocoa.mm',
60         'base/accelerators/platform_accelerator_gtk.cc',
61         'base/accelerators/platform_accelerator_gtk.h',
62         'base/accelerators/accelerator_manager.cc',
63         'base/accelerators/accelerator_manager.h',
64         'base/accessibility/accessibility_types.h',
65         'base/accessibility/accessible_text_utils.cc',
66         'base/accessibility/accessible_text_utils.h',
67         'base/accessibility/accessible_view_state.cc',
68         'base/accessibility/accessible_view_state.h',
69         'base/base_window.cc',
70         'base/base_window.h',
71         'base/clipboard/clipboard.cc',
72         'base/clipboard/clipboard.h',
73         'base/clipboard/clipboard_android.cc',
74         'base/clipboard/clipboard_android_initialization.h',
75         'base/clipboard/clipboard_aura.cc',
76         'base/clipboard/clipboard_aurax11.cc',
77         'base/clipboard/clipboard_constants.cc',
78         'base/clipboard/clipboard_gtk.cc',
79         'base/clipboard/clipboard_mac.mm',
80         'base/clipboard/clipboard_types.h',
81         'base/clipboard/clipboard_util_win.cc',
82         'base/clipboard/clipboard_util_win.h',
83         'base/clipboard/clipboard_win.cc',
84         'base/clipboard/custom_data_helper.cc',
85         'base/clipboard/custom_data_helper.h',
86         'base/clipboard/custom_data_helper_linux.cc',
87         'base/clipboard/custom_data_helper_mac.mm',
88         'base/clipboard/scoped_clipboard_writer.cc',
89         'base/clipboard/scoped_clipboard_writer.h',
90         'base/cocoa/animation_utils.h',
91         'base/cocoa/appkit_utils.h',
92         'base/cocoa/appkit_utils.mm',
93         'base/cocoa/base_view.h',
94         'base/cocoa/base_view.mm',
95         'base/cocoa/cocoa_event_utils.h',
96         'base/cocoa/cocoa_event_utils.mm',
97         'base/cocoa/controls/blue_label_button.h',
98         'base/cocoa/controls/blue_label_button.mm',
99         'base/cocoa/controls/hover_image_menu_button.h',
100         'base/cocoa/controls/hover_image_menu_button.mm',
101         'base/cocoa/controls/hover_image_menu_button_cell.h',
102         'base/cocoa/controls/hover_image_menu_button_cell.mm',
103         'base/cocoa/controls/hyperlink_button_cell.h',
104         'base/cocoa/controls/hyperlink_button_cell.mm',
105         'base/cocoa/find_pasteboard.h',
106         'base/cocoa/find_pasteboard.mm',
107         'base/cocoa/flipped_view.h',
108         'base/cocoa/flipped_view.mm',
109         'base/cocoa/focus_tracker.h',
110         'base/cocoa/focus_tracker.mm',
111         'base/cocoa/focus_window_set.h',
112         'base/cocoa/focus_window_set.mm',
113         'base/cocoa/fullscreen_window_manager.h',
114         'base/cocoa/fullscreen_window_manager.mm',
115         'base/cocoa/hover_button.h',
116         'base/cocoa/hover_button.mm',
117         'base/cocoa/hover_image_button.h',
118         'base/cocoa/hover_image_button.mm',
119         'base/cocoa/menu_controller.h',
120         'base/cocoa/menu_controller.mm',
121         'base/cocoa/nib_loading.h',
122         'base/cocoa/nib_loading.mm',
123         'base/cocoa/nsgraphics_context_additions.h',
124         'base/cocoa/nsgraphics_context_additions.mm',
125         'base/cocoa/tracking_area.h',
126         'base/cocoa/tracking_area.mm',
127         'base/cocoa/underlay_opengl_hosting_window.h',
128         'base/cocoa/underlay_opengl_hosting_window.mm',
129         'base/cocoa/view_description.h',
130         'base/cocoa/view_description.mm',
131         'base/cocoa/window_size_constants.h',
132         'base/cocoa/window_size_constants.mm',
133         'base/cursor/cursor.cc',
134         'base/cursor/cursor.h',
135         'base/cursor/cursor_loader.h',
136         'base/cursor/cursor_loader_null.cc',
137         'base/cursor/cursor_loader_null.h',
138         'base/cursor/cursor_loader_win.cc',
139         'base/cursor/cursor_null.cc',
140         'base/cursor/cursor_loader_win.h',
141         'base/cursor/cursor_loader_x11.cc',
142         'base/cursor/cursor_loader_x11.h',
143         'base/cursor/cursor_win.cc',
144         'base/cursor/cursor_x11.cc',
145         'base/cursor/cursors_aura.cc',
146         'base/cursor/cursors_aura.h',
147         'base/default_theme_provider.cc',
148         'base/default_theme_provider.h',
149         'base/default_theme_provider_mac.mm',
150         'base/dragdrop/cocoa_dnd_util.h',
151         'base/dragdrop/cocoa_dnd_util.mm',
152         'base/dragdrop/drag_drop_types.h',
153         'base/dragdrop/drag_drop_types_win.cc',
154         'base/dragdrop/drag_source_win.cc',
155         'base/dragdrop/drag_source_win.h',
156         'base/dragdrop/drag_utils.cc',
157         'base/dragdrop/drag_utils.h',
158         'base/dragdrop/drag_utils_aura.cc',
159         'base/dragdrop/drag_utils_win.cc',
160         'base/dragdrop/drop_target_event.cc',
161         'base/dragdrop/drop_target_event.h',
162         'base/dragdrop/drop_target_win.cc',
163         'base/dragdrop/drop_target_win.h',
164         'base/dragdrop/gtk_dnd_util.cc',
165         'base/dragdrop/gtk_dnd_util.h',
166         'base/dragdrop/os_exchange_data.cc',
167         'base/dragdrop/os_exchange_data.h',
168         'base/dragdrop/os_exchange_data_provider_aurax11.cc',
169         'base/dragdrop/os_exchange_data_provider_aurax11.h',
170         'base/dragdrop/os_exchange_data_provider_aura.cc',
171         'base/dragdrop/os_exchange_data_provider_aura.h',
172         'base/dragdrop/os_exchange_data_provider_win.cc',
173         'base/dragdrop/os_exchange_data_provider_win.h',
174         'base/gtk/event_synthesis_gtk.cc',
175         'base/gtk/event_synthesis_gtk.h',
176         'base/gtk/focus_store_gtk.cc',
177         'base/gtk/focus_store_gtk.h',
178         'base/gtk/g_object_destructor_filo.cc',
179         'base/gtk/g_object_destructor_filo.h',
180         'base/gtk/gtk_expanded_container.cc',
181         'base/gtk/gtk_expanded_container.h',
182         'base/gtk/gtk_floating_container.cc',
183         'base/gtk/gtk_floating_container.h',
184         'base/gtk/gtk_hig_constants.h',
185         'base/gtk/gtk_im_context_util.cc',
186         'base/gtk/gtk_im_context_util.h',
187         'base/gtk/gtk_screen_util.cc',
188         'base/gtk/gtk_screen_util.h',
189         'base/gtk/gtk_signal.h',
190         'base/gtk/gtk_signal_registrar.cc',
191         'base/gtk/gtk_signal_registrar.h',
192         'base/gtk/gtk_windowing.cc',
193         'base/gtk/gtk_windowing.h',
194         'base/gtk/owned_widget_gtk.cc',
195         'base/gtk/owned_widget_gtk.h',
196         'base/gtk/scoped_region.cc',
197         'base/gtk/scoped_region.h',
198         'base/hit_test.h',
199         'base/l10n/l10n_font_util.cc',
200         'base/l10n/l10n_font_util.h',
201         'base/l10n/l10n_util.cc',
202         'base/l10n/l10n_util.h',
203         'base/l10n/l10n_util_android.h',
204         'base/l10n/l10n_util_android.cc',
205         'base/l10n/l10n_util_collator.h',
206         'base/l10n/l10n_util_mac.h',
207         'base/l10n/l10n_util_mac.mm',
208         'base/l10n/l10n_util_plurals.cc',
209         'base/l10n/l10n_util_plurals.h',
210         'base/l10n/l10n_util_posix.cc',
211         'base/l10n/l10n_util_win.cc',
212         'base/l10n/l10n_util_win.h',
213         'base/l10n/time_format.cc',
214         'base/l10n/time_format.h',
215         'base/layout.cc',
216         'base/layout.h',
217         'base/layout_mac.mm',
218         'base/models/button_menu_item_model.cc',
219         'base/models/button_menu_item_model.h',
220         'base/models/combobox_model.cc',
221         'base/models/combobox_model.h',
222         'base/models/combobox_model_observer.h',
223         'base/models/dialog_model.cc',
224         'base/models/dialog_model.h',
225         'base/models/list_model.h',
226         'base/models/list_model_observer.h',
227         'base/models/list_selection_model.cc',
228         'base/models/list_selection_model.h',
229         'base/models/menu_model.cc',
230         'base/models/menu_model.h',
231         'base/models/menu_model_delegate.h',
232         'base/models/menu_separator_types.h',
233         'base/models/simple_menu_model.cc',
234         'base/models/simple_menu_model.h',
235         'base/models/table_model.cc',
236         'base/models/table_model.h',
237         'base/models/table_model_observer.h',
238         'base/models/tree_model.cc',
239         'base/models/tree_model.h',
240         'base/models/tree_node_iterator.h',
241         'base/models/tree_node_model.h',
242         'base/resource/data_pack.cc',
243         'base/resource/data_pack.h',
244         'base/resource/resource_bundle.cc',
245         'base/resource/resource_bundle.h',
246         'base/resource/resource_bundle_android.cc',
247         'base/resource/resource_bundle_auralinux.cc',
248         'base/resource/resource_bundle_gtk.cc',
249         'base/resource/resource_bundle_ios.mm',
250         'base/resource/resource_bundle_mac.mm',
251         'base/resource/resource_bundle_win.cc',
252         'base/resource/resource_bundle_win.h',
253         'base/resource/resource_data_dll_win.cc',
254         'base/resource/resource_data_dll_win.h',
255         'base/resource/resource_handle.h',
256         'base/text/bytes_formatting.cc',
257         'base/text/bytes_formatting.h',
258         'base/theme_provider.cc',
259         'base/theme_provider.h',
260         'base/touch/touch_device.cc',
261         'base/touch/touch_device.h',
262         'base/touch/touch_device_android.cc',
263         'base/touch/touch_device_aurax11.cc',
264         'base/touch/touch_device_ozone.cc',
265         'base/touch/touch_device_win.cc',
266         'base/touch/touch_editing_controller.cc',
267         'base/touch/touch_editing_controller.h',
268         'base/touch/touch_enabled.cc',
269         'base/touch/touch_enabled.h',
270         'base/ui_base_exports.cc',
271         'base/ui_base_paths.cc',
272         'base/ui_base_paths.h',
273         'base/ui_base_switches.cc',
274         'base/ui_base_switches.h',
275         'base/ui_base_switches_util.cc',
276         'base/ui_base_switches_util.h',
277         'base/ui_base_types.cc',
278         'base/ui_base_types.h',
279         'base/ui_export.h',
280         'base/view_prop.cc',
281         'base/view_prop.h',
282         'base/webui/jstemplate_builder.cc',
283         'base/webui/jstemplate_builder.h',
284         'base/webui/web_ui_util.cc',
285         'base/webui/web_ui_util.h',
286         'base/win/accessibility_ids_win.h',
287         'base/win/accessibility_misc_utils.cc',
288         'base/win/accessibility_misc_utils.h',
289         'base/win/atl_module.h',
290         'base/win/dpi_setup.cc',
291         'base/win/dpi_setup.h',
292         'base/win/extra_sdk_defines.h',
293         'base/win/foreground_helper.cc',
294         'base/win/foreground_helper.h',
295         'base/win/hidden_window.cc',
296         'base/win/hidden_window.h',
297         'base/win/hwnd_subclass.cc',
298         'base/win/hwnd_subclass.h',
299         'base/win/message_box_win.cc',
300         'base/win/message_box_win.h',
301         'base/win/mouse_wheel_util.cc',
302         'base/win/mouse_wheel_util.h',
303         'base/win/scoped_ole_initializer.cc',
304         'base/win/scoped_ole_initializer.h',
305         'base/win/shell.cc',
306         'base/win/shell.h',
307         'base/win/touch_input.cc',
308         'base/win/touch_input.h',
309         'base/window_open_disposition.cc',
310         'base/window_open_disposition.h',
311         'base/work_area_watcher_observer.h',
312         'base/x/active_window_watcher_x.cc',
313         'base/x/active_window_watcher_x.h',
314         'base/x/active_window_watcher_x_observer.h',
315         'base/x/root_window_property_watcher_x.cc',
316         'base/x/root_window_property_watcher_x.h',
317         'base/x/selection_owner.cc',
318         'base/x/selection_owner.h',
319         'base/x/selection_requestor.cc',
320         'base/x/selection_requestor.h',
321         'base/x/selection_utils.cc',
322         'base/x/selection_utils.h',
323         'base/x/work_area_watcher_x.cc',
324         'base/x/work_area_watcher_x.h',
325         'base/x/x11_util.cc',
326         'base/x/x11_util.h',
327         'base/x/x11_util_internal.h',
328       ],
329       'target_conditions': [
330         ['OS == "ios"', {
331           'sources/': [
332             ['include', '^base/l10n/l10n_util_mac\\.mm$'],
333           ],
334         }],
335       ],
336       'conditions': [
337         ['OS!="ios"', {
338           'includes': [
339             'base/ime/ime.gypi',
340           ],
341         }, {  # OS=="ios"
342           # iOS only uses a subset of UI.
343           'sources/': [
344             ['exclude', '\\.(cc|mm)$'],
345             ['include', '_ios\\.(cc|mm)$'],
346             ['include', '(^|/)ios/'],
347             ['include', '^base/l10n/'],
348             ['include', '^base/layout'],
349             ['include', '^base/resource/'],
350             ['include', '^base/ui_base_'],
351           ],
352           'link_settings': {
353             'libraries': [
354               '$(SDKROOT)/System/Library/Frameworks/CoreGraphics.framework',
355             ],
356           },
357         }],
358         ['use_aura==1', {
359           'sources/': [
360             ['exclude', 'base/work_area_watcher_observer.h'],
361             ['exclude', 'base/x/active_window_watcher_x.cc'],
362             ['exclude', 'base/x/active_window_watcher_x.h'],
363             ['exclude', 'base/x/active_window_watcher_x_observer.h'],
364             ['exclude', 'base/x/root_window_property_watcher_x.cc'],
365             ['exclude', 'base/x/root_window_property_watcher_x.h'],
366             ['exclude', 'base/x/work_area_watcher_x.cc'],
367             ['exclude', 'base/x/work_area_watcher_x.h'],
368            ],
369         }, {  # use_aura!=1
370           'sources!': [
371             'base/cursor/cursor.cc',
372             'base/cursor/cursor.h',
373             'base/cursor/cursor_loader_x11.cc',
374             'base/cursor/cursor_loader_x11.h',
375             'base/cursor/cursor_win.cc',
376             'base/cursor/cursor_x11.cc',
377             'base/x/selection_owner.cc',
378             'base/x/selection_owner.h',
379             'base/x/selection_requestor.cc',
380             'base/x/selection_requestor.h',
381             'base/x/selection_utils.cc',
382             'base/x/selection_utils.h',
383           ]
384         }],
385         ['use_aura==0 or OS!="linux"', {
386           'sources!': [
387             'base/resource/resource_bundle_auralinux.cc',
388           ],
389         }],
390         ['use_aura==1 and OS=="win"', {
391           'sources/': [
392             ['exclude', 'base/dragdrop/drag_utils_aura.cc'],
393           ],
394         }],
395         ['use_glib == 1', {
396           'dependencies': [
397             # font_gtk.cc uses fontconfig.
398             '../build/linux/system.gyp:fontconfig',
399             '../build/linux/system.gyp:glib',
400           ],
401           'conditions': [
402             ['toolkit_views==0 and use_aura==0', {
403               # Note: because of gyp predence rules this has to be defined as
404               # 'sources/' rather than 'sources!'.
405               'sources/': [
406                 ['exclude', '^base/dragdrop/drag_utils.cc'],
407                 ['exclude', '^base/dragdrop/drag_utils.h'],
408                 ['exclude', '^base/dragdrop/os_exchange_data.cc'],
409                 ['exclude', '^base/dragdrop/os_exchange_data.h'],
410               ],
411             }, {
412               # Note: because of gyp predence rules this has to be defined as
413               # 'sources/' rather than 'sources!'.
414               'sources/': [
415                 ['include', '^base/dragdrop/os_exchange_data.cc'],
416               ],
417             }],
418             ['use_pango==1', {
419               'dependencies': [
420                 '../build/linux/system.gyp:pangocairo',
421               ],
422             }],
423           ],
424         }],
425         ['chromeos==1 or (use_aura==1 and OS=="linux" and use_x11==0)', {
426           'sources!': [
427             'base/clipboard/clipboard_aurax11.cc',
428             'base/dragdrop/os_exchange_data_provider_aurax11.cc',
429             'base/touch/touch_device.cc',
430           ],
431         }, {
432           'sources!': [
433             'base/clipboard/clipboard_aura.cc',
434             'base/dragdrop/os_exchange_data_provider_aura.cc',
435             'base/dragdrop/os_exchange_data_provider_aura.h',
436             'base/touch/touch_device_aurax11.cc',
437           ],
438         }],
439         ['OS=="win"', {
440           'sources!': [
441             'base/touch/touch_device.cc',
442           ],
443           'include_dirs': [
444             '../',
445             '../third_party/wtl/include',
446           ],
447           # TODO(jschuh): C4267: http://crbug.com/167187 size_t -> int
448           # C4324 is structure was padded due to __declspec(align()), which is
449           # uninteresting.
450           'msvs_disabled_warnings': [ 4267, 4324 ],
451           'msvs_settings': {
452             'VCLinkerTool': {
453               'DelayLoadDLLs': [
454                 'd2d1.dll',
455                 'd3d10_1.dll',
456                 'dwmapi.dll',
457               ],
458               'AdditionalDependencies': [
459                 'd2d1.lib',
460                 'd3d10_1.lib',
461                 'dwmapi.lib',
462               ],
463             },
464           },
465           'link_settings': {
466             'libraries': [
467               '-limm32.lib',
468               '-ld2d1.lib',
469               '-ldwmapi.lib',
470               '-loleacc.lib',
471             ],
472           },
473         },{  # OS!="win"
474           'conditions': [
475             ['use_aura==0', {
476               'sources!': [
477                 'base/view_prop.cc',
478                 'base/view_prop.h',
479               ],
480             }],
481           ],
482           'sources!': [
483             'base/dragdrop/drag_drop_types.h',
484             'base/dragdrop/os_exchange_data.cc',
485           ],
486           'sources/': [
487             ['exclude', '^base/win/'],
488           ],
489         }],
490         ['OS=="mac"', {
491           'sources!': [
492             'base/dragdrop/drag_utils.cc',
493             'base/dragdrop/drag_utils.h',
494           ],
495           'link_settings': {
496             'libraries': [
497               '$(SDKROOT)/System/Library/Frameworks/Accelerate.framework',
498               '$(SDKROOT)/System/Library/Frameworks/AudioUnit.framework',
499               '$(SDKROOT)/System/Library/Frameworks/CoreVideo.framework',
500             ],
501           },
502         }],
503         ['use_x11==1', {
504           'all_dependent_settings': {
505             'ldflags': [
506               '-L<(PRODUCT_DIR)',
507             ],
508             'link_settings': {
509               'libraries': [
510                 '-lX11',
511                 '-lXcursor',
512                 '-lXrender',  # For XRender* function calls in x11_util.cc.
513               ],
514             },
515           },
516           'link_settings': {
517             'libraries': [
518               '-lX11',
519               '-lXcursor',
520               '-lXrender',  # For XRender* function calls in x11_util.cc.
521             ],
522           },
523           'dependencies': [
524             '../build/linux/system.gyp:x11',
525             '../build/linux/system.gyp:xext',
526             '../build/linux/system.gyp:xfixes',
527           ],
528         }],
529         ['use_ozone==0', {
530           'sources!': [
531             'base/cursor/cursor_null.cc',
532             'base/cursor/cursor_loader_null.cc',
533             'base/cursor/cursor_loader_null.h',
534           ],
535         }],
536         ['toolkit_views==0', {
537           'sources!': [
538             'base/dragdrop/drop_target_event.cc',
539             'base/dragdrop/drop_target_event.h',
540           ],
541         }],
542         ['OS=="android"', {
543           'sources!': [
544             'base/accessibility/accessible_text_utils.cc',
545             'base/accessibility/accessible_view_state.cc',
546             'base/default_theme_provider.cc',
547             'base/dragdrop/drag_utils.cc',
548             'base/dragdrop/drag_utils.h',
549             'base/l10n/l10n_font_util.cc',
550             'base/models/button_menu_item_model.cc',
551             'base/models/dialog_model.cc',
552             'base/theme_provider.cc',
553             'base/touch/touch_device.cc',
554             'base/touch/touch_editing_controller.cc',
555             'base/ui_base_types.cc',
556           ],
557           'dependencies': [
558             'ui_jni_headers',
559           ],
560           'include_dirs': [
561             '<(SHARED_INTERMEDIATE_DIR)/ui',
562           ],
563           'link_settings': {
564             'libraries': [
565               '-ljnigraphics',
566             ],
567           },
568         }],
569         ['OS=="android" and android_webview_build==0', {
570           'dependencies': [
571             'ui_java',
572           ],
573         }],
574         ['OS=="linux"', {
575           'libraries': [
576             '-ldl',
577           ],
578         }],
579         ['use_system_icu==1', {
580           # When using the system icu, the icu targets generate shim headers
581           # which are included by public headers in the ui target, so we need
582           # ui to be a hard dependency for all its users.
583           'hard_dependency': 1,
584         }],
585       ],
586     },
587     {
588       'target_name': 'webui_test_support',
589       'type': 'none',
590       'direct_dependent_settings': {
591         'include_dirs': [
592           '<(SHARED_INTERMEDIATE_DIR)/ui/ui_resources',
593         ]
594       }
595     },
596     {
597       'target_name': 'keycode_converter',
598       'type': 'static_library',
599       'dependencies': [
600         '../base/base.gyp:base',
601       ],
602       'sources': [
603         'base/keycodes/keycode_converter.cc',
604         'base/keycodes/keycode_converter.h',
605         'base/keycodes/keycode_converter_data.h',
606       ],
607     }
608   ],
609   'conditions': [
610     ['OS=="android"' , {
611        'targets': [
612          {
613            'target_name': 'ui_jni_headers',
614            'type': 'none',
615            'direct_dependent_settings': {
616              'include_dirs': [
617                '<(SHARED_INTERMEDIATE_DIR)/ui',
618              ],
619            },
620            'sources': [
621              'android/java/src/org/chromium/ui/Clipboard.java',
622              'android/java/src/org/chromium/ui/LocalizationUtils.java',
623              'android/java/src/org/chromium/ui/SelectFileDialog.java',
624              'android/java/src/org/chromium/ui/ViewAndroid.java',
625              'android/java/src/org/chromium/ui/WindowAndroid.java',
626            ],
627            'variables': {
628              'jni_gen_package': 'ui',
629            },
630            'includes': [ '../build/jni_generator.gypi' ],
631          },
632          {
633            'target_name': 'ui_java',
634            'type': 'none',
635            'variables': {
636              'java_in_dir': '../ui/android/java',
637              'has_java_resources': 1,
638              'R_package': 'org.chromium.ui',
639              'R_package_relpath': 'org/chromium/ui',
640              'java_strings_grd': 'android_ui_strings.grd',
641            },
642            'dependencies': [
643              '../base/base.gyp:base_java',
644              'window_open_disposition_java',
645            ],
646            'includes': [ '../build/java.gypi' ],
647          },
648          {
649            'target_name': 'window_open_disposition_java',
650            'type': 'none',
651            'sources': [
652              'android/java/WindowOpenDisposition.template',
653            ],
654            'variables': {
655              'package_name': 'org/chromium/ui',
656              'template_deps': ['base/window_open_disposition_list.h'],
657            },
658            'includes': [ '../build/android/java_cpp_template.gypi' ],
659          },
660        ],
661     }],
662     ['OS=="mac"', {
663       'targets': [
664         {
665           'target_name': 'ui_cocoa_third_party_toolkits',
666           'type': '<(component)',
667           'sources': [
668             # Build Apple sample code
669             '../third_party/apple_sample_code/ImageAndTextCell.h',
670             '../third_party/apple_sample_code/ImageAndTextCell.m',
671             # Build the necessary GTM sources
672             '../third_party/GTM/AppKit/GTMFadeTruncatingTextFieldCell.h',
673             '../third_party/GTM/AppKit/GTMFadeTruncatingTextFieldCell.m',
674             '../third_party/GTM/AppKit/GTMIBArray.h',
675             '../third_party/GTM/AppKit/GTMIBArray.m',
676             '../third_party/GTM/AppKit/GTMKeyValueAnimation.h',
677             '../third_party/GTM/AppKit/GTMKeyValueAnimation.m',
678             '../third_party/GTM/AppKit/GTMNSAnimation+Duration.h',
679             '../third_party/GTM/AppKit/GTMNSAnimation+Duration.m',
680             '../third_party/GTM/AppKit/GTMNSBezierPath+CGPath.h',
681             '../third_party/GTM/AppKit/GTMNSBezierPath+CGPath.m',
682             '../third_party/GTM/AppKit/GTMNSBezierPath+RoundRect.h',
683             '../third_party/GTM/AppKit/GTMNSBezierPath+RoundRect.m',
684             '../third_party/GTM/AppKit/GTMNSColor+Luminance.m',
685             '../third_party/GTM/AppKit/GTMUILocalizer.h',
686             '../third_party/GTM/AppKit/GTMUILocalizer.m',
687             '../third_party/GTM/AppKit/GTMUILocalizerAndLayoutTweaker.h',
688             '../third_party/GTM/AppKit/GTMUILocalizerAndLayoutTweaker.m',
689             '../third_party/GTM/Foundation/GTMNSNumber+64Bit.h',
690             '../third_party/GTM/Foundation/GTMNSNumber+64Bit.m',
691             '../third_party/GTM/Foundation/GTMNSObject+KeyValueObserving.h',
692             '../third_party/GTM/Foundation/GTMNSObject+KeyValueObserving.m',
693             # MolokoCacao additions
694             '../third_party/molokocacao/NSBezierPath+MCAdditions.h',
695             '../third_party/molokocacao/NSBezierPath+MCAdditions.m',
696             # Build necessary Mozilla sources
697             '../third_party/mozilla/NSScreen+Utils.h',
698             '../third_party/mozilla/NSScreen+Utils.m',
699             '../third_party/mozilla/NSWorkspace+Utils.h',
700             '../third_party/mozilla/NSWorkspace+Utils.m',
701           ],
702           'include_dirs': [
703             '..',
704             '../third_party/apple',
705             '../third_party/GTM',
706             '../third_party/GTM/AppKit',
707             '../third_party/GTM/DebugUtils',
708             '../third_party/GTM/Foundation',
709           ],
710           'link_settings': {
711             'libraries': [
712               '$(SDKROOT)/System/Library/Frameworks/Cocoa.framework',
713               '$(SDKROOT)/System/Library/Frameworks/QuartzCore.framework',
714             ],
715           },
716           'conditions': [
717             ['component=="shared_library"', {
718               # GTM is third-party code, so we don't want to add _EXPORT
719               # annotations to it, so build it without -fvisibility=hidden
720               # (else the interface class symbols will be hidden in a 64bit
721               # build). Only do this in a component build, so that the shipping
722               # chrome binary doesn't end up with unnecessarily exported
723               # symbols.
724               'xcode_settings': {
725                 'GCC_SYMBOLS_PRIVATE_EXTERN': 'NO',
726               },
727             }],
728           ],
729         },
730       ],
731     }],
732   ],