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