Update To 11.40.268.0
[platform/framework/web/crosswalk.git] / src / ui / base / ui_base.gyp
1 # Copyright 2014 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.
4
5 {
6   'variables': {
7     'chromium_code': 1,
8   },
9   'targets': [
10     {
11       # GN version: //ui/base
12       'target_name': 'ui_base',
13       'type': '<(component)',
14       'dependencies': [
15         '../../base/base.gyp:base',
16         '../../base/base.gyp:base_i18n',
17         '../../base/base.gyp:base_static',
18         '../../base/third_party/dynamic_annotations/dynamic_annotations.gyp:dynamic_annotations',
19         '../../net/net.gyp:net',
20         '../../skia/skia.gyp:skia',
21         '../../third_party/icu/icu.gyp:icui18n',
22         '../../third_party/icu/icu.gyp:icuuc',
23         '../../url/url.gyp:url_lib',
24         '../events/events.gyp:events',
25         '../events/events.gyp:events_base',
26         '../events/platform/events_platform.gyp:events_platform',
27         '../gfx/gfx.gyp:gfx',
28         '../gfx/gfx.gyp:gfx_geometry',
29         '../resources/ui_resources.gyp:ui_resources',
30         '../strings/ui_strings.gyp:ui_strings',
31       ],
32       'defines': [
33         'UI_BASE_IMPLEMENTATION',
34       ],
35       'export_dependent_settings': [
36         '../../net/net.gyp:net',
37         '../gfx/gfx.gyp:gfx',
38       ],
39       'sources' : [
40         # Note: file list duplicated in GN build.
41         'accelerators/accelerator.cc',
42         'accelerators/accelerator.h',
43         'accelerators/accelerator_manager.cc',
44         'accelerators/accelerator_manager.h',
45         'accelerators/menu_label_accelerator_util_linux.cc',
46         'accelerators/menu_label_accelerator_util_linux.h',
47         'accelerators/platform_accelerator.h',
48         'accelerators/platform_accelerator_cocoa.h',
49         'accelerators/platform_accelerator_cocoa.mm',
50         'android/system_ui_resource_manager.h',
51         'android/ui_base_jni_registrar.cc',
52         'android/ui_base_jni_registrar.h',
53         'android/view_android.cc',
54         'android/view_android.h',
55         'android/window_android.cc',
56         'android/window_android.h',
57         'android/window_android_compositor.h',
58         'android/window_android_observer.h',
59         'base_window.cc',
60         'base_window.h',
61         'clipboard/clipboard.cc',
62         'clipboard/clipboard.h',
63         'clipboard/clipboard_android.cc',
64         'clipboard/clipboard_android.h',
65         'clipboard/clipboard_aura.cc',
66         'clipboard/clipboard_aura.h',
67         'clipboard/clipboard_aurax11.cc',
68         'clipboard/clipboard_aurax11.h',
69         'clipboard/clipboard_constants.cc',
70         'clipboard/clipboard_mac.h',
71         'clipboard/clipboard_mac.mm',
72         'clipboard/clipboard_types.h',
73         'clipboard/clipboard_util_win.cc',
74         'clipboard/clipboard_util_win.h',
75         'clipboard/clipboard_win.cc',
76         'clipboard/clipboard_win.h',
77         'clipboard/custom_data_helper.cc',
78         'clipboard/custom_data_helper.h',
79         'clipboard/custom_data_helper_linux.cc',
80         'clipboard/custom_data_helper_mac.mm',
81         'clipboard/scoped_clipboard_writer.cc',
82         'clipboard/scoped_clipboard_writer.h',
83         'cocoa/animation_utils.h',
84         'cocoa/appkit_utils.h',
85         'cocoa/appkit_utils.mm',
86         'cocoa/base_view.h',
87         'cocoa/base_view.mm',
88         'cocoa/cocoa_base_utils.h',
89         'cocoa/cocoa_base_utils.mm',
90         'cocoa/controls/blue_label_button.h',
91         'cocoa/controls/blue_label_button.mm',
92         'cocoa/controls/hover_image_menu_button.h',
93         'cocoa/controls/hover_image_menu_button.mm',
94         'cocoa/controls/hover_image_menu_button_cell.h',
95         'cocoa/controls/hover_image_menu_button_cell.mm',
96         'cocoa/controls/hyperlink_button_cell.h',
97         'cocoa/controls/hyperlink_button_cell.mm',
98         'cocoa/controls/hyperlink_text_view.h',
99         'cocoa/controls/hyperlink_text_view.mm',
100         'cocoa/find_pasteboard.h',
101         'cocoa/find_pasteboard.mm',
102         'cocoa/flipped_view.h',
103         'cocoa/flipped_view.mm',
104         'cocoa/focus_tracker.h',
105         'cocoa/focus_tracker.mm',
106         'cocoa/focus_window_set.h',
107         'cocoa/focus_window_set.mm',
108         'cocoa/fullscreen_window_manager.h',
109         'cocoa/fullscreen_window_manager.mm',
110         'cocoa/hover_button.h',
111         'cocoa/hover_button.mm',
112         'cocoa/hover_image_button.h',
113         'cocoa/hover_image_button.mm',
114         'cocoa/menu_controller.h',
115         'cocoa/menu_controller.mm',
116         'cocoa/nib_loading.h',
117         'cocoa/nib_loading.mm',
118         'cocoa/nsgraphics_context_additions.h',
119         'cocoa/nsgraphics_context_additions.mm',
120         'cocoa/nsview_additions.h',
121         'cocoa/nsview_additions.mm',
122         'cocoa/remote_layer_api.h',
123         'cocoa/remote_layer_api.mm',
124         'cocoa/tracking_area.h',
125         'cocoa/tracking_area.mm',
126         'cocoa/underlay_opengl_hosting_window.h',
127         'cocoa/underlay_opengl_hosting_window.mm',
128         'cocoa/view_description.h',
129         'cocoa/view_description.mm',
130         'cocoa/window_size_constants.h',
131         'cocoa/window_size_constants.mm',
132         'cursor/cursor.cc',
133         'cursor/cursor.h',
134         'cursor/cursor_android.cc',
135         'cursor/cursor_loader.h',
136         'cursor/cursor_loader_ozone.cc',
137         'cursor/cursor_loader_ozone.h',
138         'cursor/cursor_loader_win.cc',
139         'cursor/cursor_loader_win.h',
140         'cursor/cursor_loader_x11.cc',
141         'cursor/cursor_loader_x11.h',
142         'cursor/cursor_ozone.cc',
143         'cursor/cursor_util.cc',
144         'cursor/cursor_util.h',
145         'cursor/cursor_win.cc',
146         'cursor/cursor_x11.cc',
147         'cursor/cursors_aura.cc',
148         'cursor/cursors_aura.h',
149         'cursor/image_cursors.cc',
150         'cursor/image_cursors.h',
151         'cursor/ozone/bitmap_cursor_factory_ozone.cc',
152         'cursor/ozone/bitmap_cursor_factory_ozone.h',
153         'default_theme_provider.cc',
154         'default_theme_provider.h',
155         'default_theme_provider_mac.mm',
156         'device_form_factor_android.cc',
157         'device_form_factor_android.h',
158         'device_form_factor_desktop.cc',
159         'device_form_factor_ios.mm',
160         'device_form_factor.h',
161         'dragdrop/cocoa_dnd_util.h',
162         'dragdrop/cocoa_dnd_util.mm',
163         'dragdrop/drag_drop_types.h',
164         'dragdrop/drag_drop_types_win.cc',
165         'dragdrop/drag_source_win.cc',
166         'dragdrop/drag_source_win.h',
167         'dragdrop/drag_utils.cc',
168         'dragdrop/drag_utils.h',
169         'dragdrop/drag_utils_aura.cc',
170         'dragdrop/drag_utils_mac.mm',
171         'dragdrop/drag_utils_win.cc',
172         'dragdrop/drop_target_event.cc',
173         'dragdrop/drop_target_event.h',
174         'dragdrop/drop_target_win.cc',
175         'dragdrop/drop_target_win.h',
176         'dragdrop/file_info.cc',
177         'dragdrop/file_info.h',
178         'dragdrop/os_exchange_data.cc',
179         'dragdrop/os_exchange_data.h',
180         'dragdrop/os_exchange_data_provider_aura.cc',
181         'dragdrop/os_exchange_data_provider_aura.h',
182         'dragdrop/os_exchange_data_provider_aurax11.cc',
183         'dragdrop/os_exchange_data_provider_aurax11.h',
184         'dragdrop/os_exchange_data_provider_mac.h',
185         'dragdrop/os_exchange_data_provider_mac.mm',
186         'dragdrop/os_exchange_data_provider_win.cc',
187         'dragdrop/os_exchange_data_provider_win.h',
188         'hit_test.h',
189         'ime/candidate_window.cc',
190         'ime/candidate_window.h',
191         'ime/chromeos/character_composer.cc',
192         'ime/chromeos/character_composer.h',
193         'ime/chromeos/ime_bridge.cc',
194         'ime/chromeos/ime_bridge.h',
195         'ime/chromeos/ime_keymap.cc',
196         'ime/chromeos/ime_keymap.h',
197         'ime/chromeos/mock_ime_candidate_window_handler.cc',
198         'ime/chromeos/mock_ime_candidate_window_handler.h',
199         'ime/chromeos/mock_ime_engine_handler.cc',
200         'ime/chromeos/mock_ime_engine_handler.h',
201         'ime/chromeos/mock_ime_input_context_handler.cc',
202         'ime/chromeos/mock_ime_input_context_handler.h',
203         'ime/composition_text.cc',
204         'ime/composition_text.h',
205         'ime/composition_text_util_pango.cc',
206         'ime/composition_text_util_pango.h',
207         'ime/composition_underline.h',
208         'ime/dummy_input_method_delegate.cc',
209         'ime/dummy_input_method_delegate.h',
210         'ime/infolist_entry.cc',
211         'ime/infolist_entry.h',
212         'ime/input_method.h',
213         'ime/input_method_auralinux.cc',
214         'ime/input_method_auralinux.h',
215         'ime/input_method_base.cc',
216         'ime/input_method_base.h',
217         'ime/input_method_chromeos.cc',
218         'ime/input_method_chromeos.h',
219         'ime/input_method_delegate.h',
220         'ime/input_method_factory.cc',
221         'ime/input_method_factory.h',
222         'ime/input_method_initializer.cc',
223         'ime/input_method_initializer.h',
224         'ime/input_method_mac.h',
225         'ime/input_method_mac.mm',
226         'ime/input_method_minimal.cc',
227         'ime/input_method_minimal.h',
228         'ime/input_method_observer.h',
229         'ime/input_method_win.cc',
230         'ime/input_method_win.h',
231         'ime/linux/fake_input_method_context.cc',
232         'ime/linux/fake_input_method_context.h',
233         'ime/linux/fake_input_method_context_factory.cc',
234         'ime/linux/fake_input_method_context_factory.h',
235         'ime/linux/linux_input_method_context.h',
236         'ime/linux/linux_input_method_context_factory.cc',
237         'ime/linux/linux_input_method_context_factory.h',
238         'ime/mock_input_method.cc',
239         'ime/mock_input_method.h',
240         'ime/remote_input_method_delegate_win.h',
241         'ime/remote_input_method_win.cc',
242         'ime/remote_input_method_win.h',
243         'ime/text_input_client.cc',
244         'ime/text_input_client.h',
245         'ime/text_input_focus_manager.cc',
246         'ime/text_input_focus_manager.h',
247         'ime/text_input_type.h',
248         'ime/win/imm32_manager.cc',
249         'ime/win/imm32_manager.h',
250         'ime/win/tsf_input_scope.cc',
251         'ime/win/tsf_input_scope.h',
252         'l10n/formatter.cc',
253         'l10n/formatter.h',
254         'l10n/l10n_font_util.cc',
255         'l10n/l10n_font_util.h',
256         'l10n/l10n_util.cc',
257         'l10n/l10n_util.h',
258         'l10n/l10n_util_android.cc',
259         'l10n/l10n_util_android.h',
260         'l10n/l10n_util_collator.h',
261         'l10n/l10n_util_mac.h',
262         'l10n/l10n_util_mac.mm',
263         'l10n/l10n_util_plurals.cc',
264         'l10n/l10n_util_plurals.h',
265         'l10n/l10n_util_posix.cc',
266         'l10n/l10n_util_win.cc',
267         'l10n/l10n_util_win.h',
268         'l10n/time_format.cc',
269         'l10n/time_format.h',
270         'layout.cc',
271         'layout.h',
272         'layout_mac.mm',
273         'models/button_menu_item_model.cc',
274         'models/button_menu_item_model.h',
275         'models/combobox_model.cc',
276         'models/combobox_model.h',
277         'models/combobox_model_observer.h',
278         'models/dialog_model.cc',
279         'models/dialog_model.h',
280         'models/list_model.h',
281         'models/list_model_observer.h',
282         'models/list_selection_model.cc',
283         'models/list_selection_model.h',
284         'models/menu_model.cc',
285         'models/menu_model.h',
286         'models/menu_model_delegate.h',
287         'models/menu_separator_types.h',
288         'models/simple_combobox_model.cc',
289         'models/simple_combobox_model.h',
290         'models/simple_menu_model.cc',
291         'models/simple_menu_model.h',
292         'models/table_model.cc',
293         'models/table_model.h',
294         'models/table_model_observer.h',
295         'models/tree_model.cc',
296         'models/tree_model.h',
297         'models/tree_node_iterator.h',
298         'models/tree_node_model.h',
299         'nine_image_painter_factory.cc',
300         'nine_image_painter_factory.h',
301         'page_transition_types.cc',
302         'page_transition_types.h',
303         'page_transition_types_list.h',
304         'resource/data_pack.cc',
305         'resource/data_pack.h',
306         'resource/resource_bundle.cc',
307         'resource/resource_bundle.h',
308         'resource/resource_bundle_android.cc',
309         'resource/resource_bundle_auralinux.cc',
310         'resource/resource_bundle_ios.mm',
311         'resource/resource_bundle_mac.mm',
312         'resource/resource_bundle_win.cc',
313         'resource/resource_bundle_win.h',
314         'resource/resource_data_dll_win.cc',
315         'resource/resource_data_dll_win.h',
316         'resource/resource_handle.h',
317         'text/bytes_formatting.cc',
318         'text/bytes_formatting.h',
319         'theme_provider.cc',
320         'theme_provider.h',
321         'touch/touch_device.cc',
322         'touch/touch_device.h',
323         'touch/touch_device_android.cc',
324         'touch/touch_device_aurax11.cc',
325         'touch/touch_device_ozone.cc',
326         'touch/touch_device_win.cc',
327         'touch/touch_editing_controller.cc',
328         'touch/touch_editing_controller.h',
329         'touch/touch_enabled.cc',
330         'touch/touch_enabled.h',
331         'ui_base_export.h',
332         'ui_base_exports.cc',
333         'ui_base_paths.cc',
334         'ui_base_paths.h',
335         'ui_base_switches.cc',
336         'ui_base_switches.h',
337         'ui_base_switches_util.cc',
338         'ui_base_switches_util.h',
339         'ui_base_types.cc',
340         'ui_base_types.h',
341         'view_prop.cc',
342         'view_prop.h',
343         'webui/jstemplate_builder.cc',
344         'webui/jstemplate_builder.h',
345         'webui/web_ui_util.cc',
346         'webui/web_ui_util.h',
347         'win/accessibility_ids_win.h',
348         'win/accessibility_misc_utils.cc',
349         'win/accessibility_misc_utils.h',
350         'win/atl_module.h',
351         'win/foreground_helper.cc',
352         'win/foreground_helper.h',
353         'win/hidden_window.cc',
354         'win/hidden_window.h',
355         'win/hwnd_subclass.cc',
356         'win/hwnd_subclass.h',
357         'win/internal_constants.cc',
358         'win/internal_constants.h',
359         'win/lock_state.cc',
360         'win/lock_state.h',
361         'win/message_box_win.cc',
362         'win/message_box_win.h',
363         'win/mouse_wheel_util.cc',
364         'win/mouse_wheel_util.h',
365         'win/open_file_name_win.cc',
366         'win/open_file_name_win.h',
367         'win/scoped_ole_initializer.cc',
368         'win/scoped_ole_initializer.h',
369         'win/shell.cc',
370         'win/shell.h',
371         'win/touch_input.cc',
372         'win/touch_input.h',
373         'win/window_event_target.cc',
374         'win/window_event_target.h',
375         'window_open_disposition.cc',
376         'window_open_disposition.h',
377         'work_area_watcher_observer.h',
378         'x/selection_owner.cc',
379         'x/selection_owner.h',
380         'x/selection_requestor.cc',
381         'x/selection_requestor.h',
382         'x/selection_utils.cc',
383         'x/selection_utils.h',
384         'x/x11_foreign_window_manager.cc',
385         'x/x11_foreign_window_manager.h',
386         'x/x11_menu_list.cc',
387         'x/x11_menu_list.h',
388         'x/x11_util.cc',
389         'x/x11_util.h',
390         'x/x11_util_internal.h',
391       ],
392       'target_conditions': [
393         ['OS == "ios"', {
394           'sources/': [
395             ['include', '^l10n/l10n_util_mac\\.mm$'],
396           ],
397         }],
398       ],
399       'conditions': [
400         ['OS=="ios"', {
401           # iOS only uses a subset of UI.
402           'sources/': [
403             ['exclude', '\\.(cc|mm)$'],
404             ['include', '_ios\\.(cc|mm)$'],
405             ['include', '(^|/)ios/'],
406             ['include', '^l10n/'],
407             ['include', '^layout'],
408             ['include', '^page_transition_type'],
409             ['include', '^resource/'],
410             ['include', '^ui_base_'],
411           ],
412           'link_settings': {
413             'libraries': [
414               '$(SDKROOT)/System/Library/Frameworks/CoreGraphics.framework',
415             ],
416           },
417         }],
418         ['use_aura==1', {
419           'sources/': [
420             ['exclude', 'clipboard/clipboard_mac.mm'],
421             ['exclude', 'layout_mac.mm'],
422             ['exclude', 'work_area_watcher_observer.h'],
423           ],
424         }, {  # use_aura!=1
425           'sources!': [
426             'cursor/cursor.cc',
427             'cursor/cursor.h',
428             'cursor/cursor_loader_x11.cc',
429             'cursor/cursor_loader_x11.h',
430             'cursor/cursor_win.cc',
431             'cursor/cursor_x11.cc',
432             'x/selection_owner.cc',
433             'x/selection_owner.h',
434             'x/selection_requestor.cc',
435             'x/selection_requestor.h',
436             'x/selection_utils.cc',
437             'x/selection_utils.h',
438           ]
439         }],
440         ['use_aura==0 or OS!="linux"', {
441           'sources!': [
442             'resource/resource_bundle_auralinux.cc',
443           ],
444         }],
445         ['use_ozone==1', {
446           'dependencies': [
447             '../ozone/ozone.gyp:ozone_base',
448           ],
449         }],
450         ['use_aura==1 and OS=="win"', {
451           'sources/': [
452             ['exclude', 'dragdrop/drag_utils_aura.cc'],
453           ],
454         }],
455         ['use_glib == 1', {
456           'dependencies': [
457             '../../build/linux/system.gyp:fontconfig',
458             '../../build/linux/system.gyp:glib',
459           ],
460         }],
461         ['desktop_linux == 1 or chromeos == 1', {
462           'conditions': [
463             ['toolkit_views==0 and use_aura==0', {
464               # Note: because of gyp predence rules this has to be defined as
465               # 'sources/' rather than 'sources!'.
466               'sources/': [
467                 ['exclude', '^dragdrop/drag_utils.cc'],
468                 ['exclude', '^dragdrop/drag_utils.h'],
469               ],
470             }, {
471               'sources/': [
472                 ['include', '^dragdrop/os_exchange_data.cc'],
473                 ['include', '^dragdrop/os_exchange_data.h'],
474                 ['include', '^nine_image_painter_factory.cc'],
475                 ['include', '^nine_image_painter_factory.h'],
476               ],
477             }],
478           ],
479         }],
480         ['use_pango==1', {
481           'dependencies': [
482             '../../build/linux/system.gyp:pangocairo',
483           ],
484         }],
485         ['OS=="win" or use_clipboard_aurax11==1', {
486           'sources!': [
487             'clipboard/clipboard_aura.cc',
488           ],
489         }, {
490           'sources!': [
491             'clipboard/clipboard_aurax11.cc',
492           ],
493         }],
494         ['chromeos==1 or (use_aura==1 and OS=="linux" and use_x11==0)', {
495           'sources!': [
496             'dragdrop/os_exchange_data_provider_aurax11.cc',
497             'touch/touch_device.cc',
498           ],
499         }, {
500           'sources!': [
501             'dragdrop/os_exchange_data_provider_aura.cc',
502             'dragdrop/os_exchange_data_provider_aura.h',
503             'touch/touch_device_aurax11.cc',
504           ],
505         }],
506         ['OS=="win"', {
507           'sources!': [
508             'touch/touch_device.cc',
509           ],
510           'include_dirs': [
511             '../..',
512             '../../third_party/wtl/include',
513           ],
514           # TODO(jschuh): C4267: http://crbug.com/167187 size_t -> int
515           # C4324 is structure was padded due to __declspec(align()), which is
516           # uninteresting.
517           'msvs_disabled_warnings': [ 4267, 4324 ],
518           'msvs_settings': {
519             'VCLinkerTool': {
520               'DelayLoadDLLs': [
521                 'd2d1.dll',
522                 'd3d10_1.dll',
523                 'dwmapi.dll',
524               ],
525               'AdditionalDependencies': [
526                 'd2d1.lib',
527                 'd3d10_1.lib',
528                 'dwmapi.lib',
529               ],
530             },
531           },
532           'link_settings': {
533             'libraries': [
534               '-limm32.lib',
535               '-ld2d1.lib',
536               '-ldwmapi.lib',
537               '-loleacc.lib',
538             ],
539           },
540         },{  # OS!="win"
541           'conditions': [
542             ['use_aura==0', {
543               'sources!': [
544                 'view_prop.cc',
545                 'view_prop.h',
546               ],
547             }],
548           ],
549         }],
550         ['OS=="mac"', {
551           'dependencies': [
552             '../../third_party/mozilla/mozilla.gyp:mozilla',
553           ],
554           'sources!': [
555             'cursor/image_cursors.cc',
556             'cursor/image_cursors.h',
557             'dragdrop/drag_utils.cc',
558             'dragdrop/drag_utils.h',
559           ],
560           'link_settings': {
561             'libraries': [
562               '$(SDKROOT)/System/Library/Frameworks/Accelerate.framework',
563               '$(SDKROOT)/System/Library/Frameworks/AudioUnit.framework',
564               '$(SDKROOT)/System/Library/Frameworks/CoreVideo.framework',
565             ],
566           },
567         }],
568         ['use_x11==1', {
569           'all_dependent_settings': {
570             'ldflags': [
571               '-L<(PRODUCT_DIR)',
572             ],
573           },
574           'dependencies': [
575             '../../build/linux/system.gyp:x11',
576             '../../build/linux/system.gyp:xcursor',
577             '../../build/linux/system.gyp:xext',
578             '../../build/linux/system.gyp:xfixes',
579             '../../build/linux/system.gyp:xrender',  # For XRender* function calls in x11_util.cc.
580             '../events/platform/x11/x11_events_platform.gyp:x11_events_platform',
581           ],
582         }],
583         ['toolkit_views==0', {
584           'sources!': [
585             'dragdrop/drag_drop_types.h',
586             'dragdrop/drop_target_event.cc',
587             'dragdrop/drop_target_event.h',
588             'dragdrop/os_exchange_data.cc',
589             'dragdrop/os_exchange_data.h',
590             'nine_image_painter_factory.cc',
591             'nine_image_painter_factory.h',
592           ],
593         }],
594         ['OS=="android"', {
595           'sources!': [
596             'cursor/image_cursors.cc',
597             'cursor/image_cursors.h',
598             'default_theme_provider.cc',
599             'dragdrop/drag_utils.cc',
600             'dragdrop/drag_utils.h',
601             'l10n/l10n_font_util.cc',
602             'models/button_menu_item_model.cc',
603             'models/dialog_model.cc',
604             'theme_provider.cc',
605             'touch/touch_device.cc',
606             'touch/touch_editing_controller.cc',
607             'ui_base_types.cc',
608           ],
609           'dependencies': [
610             'ui_base_jni_headers',
611           ],
612           'link_settings': {
613             'libraries': [
614               '-ljnigraphics',
615             ],
616           },
617         }],
618         ['OS=="android" and android_webview_build==0', {
619           'dependencies': [
620             '../android/ui_android.gyp:ui_java',
621           ],
622         }],
623         ['OS=="android" and use_aura==0', {
624           'sources!': [
625             'cursor/cursor_android.cc'
626           ],
627         }],
628         ['OS=="android" and use_aura==1', {
629           'sources!': [
630             'clipboard/clipboard_aura.cc'
631           ],
632         }],
633         ['OS=="android" or OS=="ios"', {
634           'sources!': [
635             'device_form_factor_desktop.cc'
636           ],
637         }],
638         ['OS=="linux"', {
639           'libraries': [
640             '-ldl',
641           ],
642         }],
643         ['use_system_icu==1', {
644           # When using the system icu, the icu targets generate shim headers
645           # which are included by public headers in the ui target, so we need
646           # ui to be a hard dependency for all its users.
647           'hard_dependency': 1,
648         }],
649         ['toolkit_views==0 and use_aura==0', {
650           'sources!': [
651             'ime/input_method_factory.cc',
652             'ime/input_method_factory.h',
653             'ime/input_method_minimal.cc',
654             'ime/input_method_minimal.h',
655           ],
656         }],
657         ['chromeos==0', {
658           'sources!': [
659             'ime/input_method_chromeos.cc',
660             'ime/input_method_chromeos.h',
661           ],
662         }],
663         ['chromeos==1', {
664           'dependencies': [
665             '../../chromeos/chromeos.gyp:chromeos',
666           ],
667         }],
668         ['OS!="win"', {
669           'sources!': [
670             'ime/input_method_imm32.cc',
671             'ime/input_method_imm32.h',
672           ],
673         }],
674         ['use_aura==0 or (desktop_linux==0 and use_ozone==0)', {
675           'sources!': [
676             'ime/input_method_auralinux.cc',
677             'ime/input_method_auralinux.h',
678             'ime/linux/fake_input_method_context.cc',
679             'ime/linux/fake_input_method_context.h',
680             'ime/linux/fake_input_method_context_factory.cc',
681             'ime/linux/fake_input_method_context_factory.h',
682             'ime/linux/linux_input_method_context.h',
683             'ime/linux/linux_input_method_context_factory.cc',
684             'ime/linux/linux_input_method_context_factory.h',
685           ],
686         }],
687         ['use_x11==0', {
688           'sources!': [
689             'ime/composition_text_util_pango.cc',
690             'ime/composition_text_util_pango.h',
691           ],
692         }],
693       ],
694     },
695     {
696       # GN version: //ui/base:test_support
697       'target_name': 'ui_base_test_support',
698       'dependencies': [
699         '../../base/base.gyp:base',
700         '../../skia/skia.gyp:skia',
701         '../../testing/gtest.gyp:gtest',
702         '../gfx/gfx.gyp:gfx',
703         '../gfx/gfx.gyp:gfx_geometry',
704       ],
705       'sources': [
706         # Note: file list duplicated in GN build.
707         'test/ui_controls.h',
708         'test/ui_controls_aura.cc',
709         'test/ui_controls_internal_win.cc',
710         'test/ui_controls_internal_win.h',
711         'test/ui_controls_mac.mm',
712         'test/ui_controls_win.cc',
713       ],
714       'include_dirs': [
715         '../..',
716       ],
717       'conditions': [
718         ['OS!="ios"', {
719           'type': 'static_library',
720             'sources': [
721               'ime/dummy_input_method.cc',
722               'ime/dummy_input_method.h',
723               'ime/dummy_text_input_client.cc',
724               'ime/dummy_text_input_client.h',
725             ],
726         }, {  # OS=="ios"
727           # None of the sources in this target are built on iOS, resulting in
728           # link errors when building targets that depend on this target
729           # because the static library isn't found. If this target is changed
730           # to have sources that are built on iOS, the target should be changed
731           # to be of type static_library on all platforms.
732           'type': 'none',
733         }],
734         ['use_aura==1', {
735           'sources!': [
736             'test/ui_controls_mac.mm',
737             'test/ui_controls_win.cc',
738           ],
739         }],
740       ],
741     },
742   ],
743   'conditions': [
744     ['OS=="android"' , {
745        'targets': [
746          {
747            # GN version: //ui/base:ui_base_jni_headers
748            'target_name': 'ui_base_jni_headers',
749            'type': 'none',
750            'sources': [
751              # Note: file list duplicated in GN build.
752              '../android/java/src/org/chromium/ui/base/Clipboard.java',
753              '../android/java/src/org/chromium/ui/base/DeviceFormFactor.java',
754              '../android/java/src/org/chromium/ui/base/LocalizationUtils.java',
755              '../android/java/src/org/chromium/ui/base/ResourceBundle.java',
756              '../android/java/src/org/chromium/ui/base/SelectFileDialog.java',
757              '../android/java/src/org/chromium/ui/base/TouchDevice.java',
758              '../android/java/src/org/chromium/ui/base/ViewAndroid.java',
759              '../android/java/src/org/chromium/ui/base/WindowAndroid.java',
760            ],
761            'variables': {
762              'jni_gen_package': 'ui',
763            },
764            'includes': [ '../../build/jni_generator.gypi' ],
765          },
766        ],
767     }],
768   ],
769 }