Chromium Code Reviews| Index: ui/base/BUILD.gn |
| diff --git a/ui/base/BUILD.gn b/ui/base/BUILD.gn |
| new file mode 100644 |
| index 0000000000000000000000000000000000000000..10d920a72d1b4a98ef8eff1f0bdd3f212ad75574 |
| --- /dev/null |
| +++ b/ui/base/BUILD.gn |
| @@ -0,0 +1,514 @@ |
| +# Copyright 2014 The Chromium Authors. All rights reserved. |
| +# Use of this source code is governed by a BSD-style license that can be |
| +# found in the LICENSE file. |
| + |
| +import("//build/config/ui.gni") |
| + |
| +if (is_android) { |
| + import("//build/config/android/config.gni") |
| +} |
| + |
| +component("ui_base") { |
| + sources = [ |
| + "accelerators/accelerator.cc", |
| + "accelerators/accelerator.h", |
| + "accelerators/accelerator_manager.cc", |
| + "accelerators/accelerator_manager.h", |
| + "accelerators/menu_label_accelerator_util_linux.cc", |
| + "accelerators/menu_label_accelerator_util_linux.h", |
| + "accelerators/platform_accelerator.h", |
| + "accelerators/platform_accelerator_cocoa.h", |
| + "accelerators/platform_accelerator_cocoa.mm", |
| + "android/ui_base_jni_registrar.cc", |
| + "android/ui_base_jni_registrar.h", |
| + "android/view_android.cc", |
| + "android/view_android.h", |
| + "android/window_android.cc", |
| + "android/window_android.h", |
| + "android/window_android_compositor.h", |
| + "android/window_android_observer.h", |
| + "base_window.cc", |
| + "base_window.h", |
| + "clipboard/clipboard.cc", |
| + "clipboard/clipboard.h", |
| + "clipboard/clipboard_android.cc", |
| + "clipboard/clipboard_android_initialization.h", |
| + "clipboard/clipboard_aura.cc", |
| + "clipboard/clipboard_aurax11.cc", |
| + "clipboard/clipboard_constants.cc", |
| + "clipboard/clipboard_mac.mm", |
| + "clipboard/clipboard_types.h", |
| + "clipboard/clipboard_util_win.cc", |
| + "clipboard/clipboard_util_win.h", |
| + "clipboard/clipboard_win.cc", |
| + "clipboard/custom_data_helper.cc", |
| + "clipboard/custom_data_helper.h", |
| + "clipboard/custom_data_helper_linux.cc", |
| + "clipboard/custom_data_helper_mac.mm", |
| + "clipboard/scoped_clipboard_writer.cc", |
| + "clipboard/scoped_clipboard_writer.h", |
| + "cocoa/animation_utils.h", |
| + "cocoa/appkit_utils.h", |
| + "cocoa/appkit_utils.mm", |
| + "cocoa/base_view.h", |
| + "cocoa/base_view.mm", |
| + "cocoa/cocoa_base_utils.h", |
| + "cocoa/cocoa_base_utils.mm", |
| + "cocoa/controls/blue_label_button.h", |
| + "cocoa/controls/blue_label_button.mm", |
| + "cocoa/controls/hover_image_menu_button.h", |
| + "cocoa/controls/hover_image_menu_button.mm", |
| + "cocoa/controls/hover_image_menu_button_cell.h", |
| + "cocoa/controls/hover_image_menu_button_cell.mm", |
| + "cocoa/controls/hyperlink_button_cell.h", |
| + "cocoa/controls/hyperlink_button_cell.mm", |
| + "cocoa/find_pasteboard.h", |
| + "cocoa/find_pasteboard.mm", |
| + "cocoa/flipped_view.h", |
| + "cocoa/flipped_view.mm", |
| + "cocoa/focus_tracker.h", |
| + "cocoa/focus_tracker.mm", |
| + "cocoa/focus_window_set.h", |
| + "cocoa/focus_window_set.mm", |
| + "cocoa/fullscreen_window_manager.h", |
| + "cocoa/fullscreen_window_manager.mm", |
| + "cocoa/hover_button.h", |
| + "cocoa/hover_button.mm", |
| + "cocoa/hover_image_button.h", |
| + "cocoa/hover_image_button.mm", |
| + "cocoa/menu_controller.h", |
| + "cocoa/menu_controller.mm", |
| + "cocoa/nib_loading.h", |
| + "cocoa/nib_loading.mm", |
| + "cocoa/nsgraphics_context_additions.h", |
| + "cocoa/nsgraphics_context_additions.mm", |
| + "cocoa/tracking_area.h", |
| + "cocoa/tracking_area.mm", |
| + "cocoa/underlay_opengl_hosting_window.h", |
| + "cocoa/underlay_opengl_hosting_window.mm", |
| + "cocoa/view_description.h", |
| + "cocoa/view_description.mm", |
| + "cocoa/window_size_constants.h", |
| + "cocoa/window_size_constants.mm", |
| + "cursor/cursor.cc", |
| + "cursor/cursor.h", |
| + "cursor/cursor_android.cc", |
| + "cursor/cursor_loader.h", |
| + "cursor/cursor_loader_win.cc", |
| + "cursor/cursor_loader_win.h", |
| + "cursor/cursor_loader_x11.cc", |
| + "cursor/cursor_loader_x11.h", |
| + "cursor/cursor_mac.mm", |
| + "cursor/cursor_util.cc", |
| + "cursor/cursor_util.h", |
| + "cursor/cursor_win.cc", |
| + "cursor/cursor_x11.cc", |
| + "cursor/cursors_aura.cc", |
| + "cursor/cursors_aura.h", |
| + "default_theme_provider.cc", |
| + "default_theme_provider.h", |
| + "default_theme_provider_mac.mm", |
| + "device_form_factor_android.cc", |
| + "device_form_factor_android.h", |
| + "device_form_factor_desktop.cc", |
| + "device_form_factor_ios.mm", |
| + "device_form_factor.h", |
| + "dragdrop/cocoa_dnd_util.h", |
| + "dragdrop/cocoa_dnd_util.mm", |
| + "dragdrop/drag_drop_types.h", |
| + "dragdrop/drag_drop_types.h", |
| + "dragdrop/drag_drop_types_win.cc", |
| + "dragdrop/drag_source_win.cc", |
| + "dragdrop/drag_source_win.h", |
| + "dragdrop/drag_utils.cc", |
| + "dragdrop/drag_utils.h", |
| + "dragdrop/drag_utils_aura.cc", |
| + "dragdrop/drag_utils_win.cc", |
| + "dragdrop/drop_target_event.cc", |
| + "dragdrop/drop_target_event.h", |
| + "dragdrop/drop_target_win.cc", |
| + "dragdrop/drop_target_win.h", |
| + "dragdrop/file_info.cc", |
| + "dragdrop/file_info.h", |
| + "dragdrop/os_exchange_data.cc", |
| + "dragdrop/os_exchange_data.h", |
| + "dragdrop/os_exchange_data_provider_aura.cc", |
| + "dragdrop/os_exchange_data_provider_aura.h", |
| + "dragdrop/os_exchange_data_provider_aurax11.cc", |
| + "dragdrop/os_exchange_data_provider_aurax11.h", |
| + "dragdrop/os_exchange_data_provider_win.cc", |
| + "dragdrop/os_exchange_data_provider_win.h", |
| + "hit_test.h", |
| + "l10n/formatter.cc", |
| + "l10n/formatter.h", |
| + "l10n/l10n_font_util.cc", |
| + "l10n/l10n_font_util.h", |
| + "l10n/l10n_util.cc", |
| + "l10n/l10n_util.h", |
| + "l10n/l10n_util_android.cc", |
| + "l10n/l10n_util_android.h", |
| + "l10n/l10n_util_collator.h", |
| + "l10n/l10n_util_mac.h", |
| + "l10n/l10n_util_mac.mm", |
| + "l10n/l10n_util_plurals.cc", |
| + "l10n/l10n_util_plurals.h", |
| + "l10n/l10n_util_posix.cc", |
| + "l10n/l10n_util_win.cc", |
| + "l10n/l10n_util_win.h", |
| + "l10n/time_format.cc", |
| + "l10n/time_format.h", |
| + "layout.cc", |
| + "layout.h", |
| + "layout_mac.mm", |
| + "models/button_menu_item_model.cc", |
| + "models/button_menu_item_model.h", |
| + "models/combobox_model.cc", |
| + "models/combobox_model.h", |
| + "models/combobox_model_observer.h", |
| + "models/dialog_model.cc", |
| + "models/dialog_model.h", |
| + "models/list_model.h", |
| + "models/list_model_observer.h", |
| + "models/list_selection_model.cc", |
| + "models/list_selection_model.h", |
| + "models/menu_model.cc", |
| + "models/menu_model.h", |
| + "models/menu_model_delegate.h", |
| + "models/menu_separator_types.h", |
| + "models/simple_menu_model.cc", |
| + "models/simple_menu_model.h", |
| + "models/table_model.cc", |
| + "models/table_model.h", |
| + "models/table_model_observer.h", |
| + "models/tree_model.cc", |
| + "models/tree_model.h", |
| + "models/tree_node_iterator.h", |
| + "models/tree_node_model.h", |
| + "nine_image_painter_factory.cc", |
| + "nine_image_painter_factory.h", |
| + "resource/data_pack.cc", |
| + "resource/data_pack.h", |
| + "resource/resource_bundle.cc", |
| + "resource/resource_bundle.h", |
| + "resource/resource_bundle_android.cc", |
| + "resource/resource_bundle_auralinux.cc", |
| + "resource/resource_bundle_ios.mm", |
| + "resource/resource_bundle_mac.mm", |
| + "resource/resource_bundle_win.cc", |
| + "resource/resource_bundle_win.h", |
| + "resource/resource_data_dll_win.cc", |
| + "resource/resource_data_dll_win.h", |
| + "resource/resource_handle.h", |
| + "text/bytes_formatting.cc", |
| + "text/bytes_formatting.h", |
| + "theme_provider.cc", |
| + "theme_provider.h", |
| + "touch/touch_device.cc", |
| + "touch/touch_device.h", |
| + "touch/touch_device_android.cc", |
| + "touch/touch_device_aurax11.cc", |
| + "touch/touch_device_ozone.cc", |
| + "touch/touch_device_win.cc", |
| + "touch/touch_editing_controller.cc", |
| + "touch/touch_editing_controller.h", |
| + "touch/touch_enabled.cc", |
| + "touch/touch_enabled.h", |
| + "ui_base_exports.cc", |
| + "ui_base_paths.cc", |
| + "ui_base_paths.h", |
| + "ui_base_switches.cc", |
| + "ui_base_switches.h", |
| + "ui_base_switches_util.cc", |
| + "ui_base_switches_util.h", |
| + "ui_base_types.cc", |
| + "ui_base_types.h", |
| + "ui_base_export.h", |
| + "view_prop.cc", |
| + "view_prop.h", |
| + # TODO(tfarina): Uncomment these when http://crbug.com/367591 is fixed. |
| + #"webui/jstemplate_builder.cc", |
| + #"webui/jstemplate_builder.h", |
| + #"webui/web_ui_util.cc", |
| + #"webui/web_ui_util.h", |
| + "win/accessibility_ids_win.h", |
| + "win/accessibility_misc_utils.cc", |
| + "win/accessibility_misc_utils.h", |
| + "win/atl_module.h", |
| + "win/dpi_setup.cc", |
| + "win/dpi_setup.h", |
| + "win/foreground_helper.cc", |
| + "win/foreground_helper.h", |
| + "win/hidden_window.cc", |
| + "win/hidden_window.h", |
| + "win/hwnd_subclass.cc", |
| + "win/hwnd_subclass.h", |
| + "win/internal_constants.cc", |
| + "win/internal_constants.h", |
| + "win/lock_state.cc", |
| + "win/lock_state.h", |
| + "win/message_box_win.cc", |
| + "win/message_box_win.h", |
| + "win/mouse_wheel_util.cc", |
| + "win/mouse_wheel_util.h", |
| + "win/scoped_ole_initializer.cc", |
| + "win/scoped_ole_initializer.h", |
| + "win/shell.cc", |
| + "win/shell.h", |
| + "win/touch_input.cc", |
| + "win/touch_input.h", |
| + "win/window_event_target.cc", |
| + "win/window_event_target.h", |
| + "window_open_disposition.cc", |
| + "window_open_disposition.h", |
| + "work_area_watcher_observer.h", |
| + "x/selection_owner.cc", |
| + "x/selection_owner.h", |
| + "x/selection_requestor.cc", |
| + "x/selection_requestor.h", |
| + "x/selection_utils.cc", |
| + "x/selection_utils.h", |
| + "x/x11_menu_list.cc", |
| + "x/x11_menu_list.h", |
| + "x/x11_util.cc", |
| + "x/x11_util.h", |
| + "x/x11_util_internal.h", |
| + ] |
| + |
| + defines = [ "UI_BASE_IMPLEMENTATION" ] |
| + |
| + deps = [ |
| + "//base", |
| + "//base/third_party/dynamic_annotations", |
| + "//base:base_static", |
| + "//base:i18n", |
| + "//net", |
| + "//skia", |
| + "//third_party/icu", |
| + "//ui/base/strings", |
| + "//ui/resources", |
| + "//url", |
| + ] |
| + |
| + if (is_ios) { |
| + sources += [ |
| + "l10n/l10n_util_mac.h", |
| + "l10n/l10n_util_mac.mm", |
| + ] |
| + } |
| + |
| + if (toolkit_views) { |
| + deps += [ |
| + "//ui/events", |
| + ] |
| + } |
| + |
| + if (use_aura) { |
| + deps += [ |
| + "//ui/events", |
| + ] |
| + } else { |
| + sources -= [ |
| + "cursor/cursor.cc", |
| + "cursor/cursor.h", |
| + "cursor/cursor_loader_x11.cc", |
| + "cursor/cursor_loader_x11.h", |
| + "cursor/cursor_mac.mm", |
| + "cursor/cursor_win.cc", |
| + "cursor/cursor_x11.cc", |
| + "x/selection_owner.cc", |
| + "x/selection_owner.h", |
| + "x/selection_requestor.cc", |
| + "x/selection_requestor.h", |
| + "x/selection_utils.cc", |
| + "x/selection_utils.h", |
| + ] |
| + } |
| + |
| + if (!use_aura || !is_linux) { |
| + sources -= [ |
| + "resource/resource_bundle_auralinux.cc", |
| + ] |
| + } |
| + |
| + if (use_aura && is_win) { |
| + sources -= [ |
| + "dragdrop/drag_utils_aura.cc", |
| + ] |
| + } |
| + |
| + if (is_linux) { |
| + configs += [ |
| + "//build/config/linux:fontconfig", |
| + "//build/config/linux:glib", |
| + ] |
| + } |
| + |
| + if ((is_linux && !is_chromeos) || is_chromeos) { |
|
Ruud van Asseldonk
2015/09/24 16:17:00
This is logically equivalent to (is_linux || is_ch
Dirk Pranke
2015/09/24 18:32:15
I'm not sure what the intent here is, but since is
|
| + if (!toolkit_views && !use_aura) { |
| + sources -= [ |
| + "dragdrop/drag_utils.cc", |
| + "dragdrop/drag_utils.h", |
| + ] |
| + } |
| + } |
| + |
| + if (use_pango) { |
| + configs += [ |
| + "//build/config/linux:pangocairo", |
| + ] |
| + } |
| + if (is_win || use_clipboard_aurax11) { |
| + sources -= [ |
| + "clipboard/clipboard_aura.cc", |
| + ] |
| + } else { |
| + sources -= [ |
| + "clipboard/clipboard_aurax11.cc", |
| + ] |
| + } |
| + |
| + if (is_chromeos || (use_aura && is_linux && !use_x11)) { |
| + sources -= [ |
| + "dragdrop/os_exchange_data_provider_aurax11.cc", |
| + "touch/touch_device.cc", |
| + ] |
| + } else { |
| + sources -= [ |
| + "dragdrop/os_exchange_data_provider_aura.cc", |
| + "dragdrop/os_exchange_data_provider_aura.h", |
| + "touch/touch_device_aurax11.cc", |
| + ] |
| + } |
| + |
| + if (is_win) { |
| + deps += [ |
| + "//third_party/wtl", |
| + ] |
| + sources -= [ |
| + "touch/touch_device.cc", |
| + ] |
| + cflags = [ |
| + "/wd4267", # TODO(jschuh): C4267: http://crbug.com/167187 size_t -> int. |
| + "/wd4324", # Structure was padded due to __declspec(align()), which is |
| + # uninteresting. |
| + ] |
| + ldflags = [ |
| + "/DELAYLOAD:d2d1.dll", |
| + "/DELAYLOAD:d3d10_1.dll", |
| + "/DELAYLOAD:dwmapi.dll", |
| + ] |
| + libs = [ |
| + "d2d1.lib", |
| + "d3d10_1.lib", |
| + "dwmapi.lib", |
| + "imm32.lib", |
| + "d2d1.lib", |
| + "dwmapi.lib", |
| + "oleacc.lib", |
| + ] |
| + } else { |
| + if (!use_aura) { |
| + sources -= [ |
| + "view_prop.cc", |
| + "view_prop.h", |
| + ] |
| + } |
| + } |
| + |
| + if (is_mac) { |
| + deps += [ |
| + #TODO(tfarina): port this third_party component to GN. |
| + #"//third_party/mozilla", |
| + ] |
| + |
| + sources -= [ |
| + "dragdrop/drag_utils.cc", |
| + "dragdrop/drag_utils.h", |
| + ] |
| + |
| + libs += [ |
| + "Accelerate.framework", |
| + "AudioUnit.framework", |
| + "CoreView.framework", |
| + ] |
| + } |
| + |
| + if (use_x11) { |
| + #'all_dependent_settings': { |
| + #'ldflags': [ |
| + #'-L<(PRODUCT_DIR)', |
| + #], |
| + #}, |
| + configs += [ |
| + "//build/config/linux:x11" |
| + ] |
| + } |
| + |
| + if (!toolkit_views) { |
| + sources -= [ |
| + "dragdrop/drag_drop_types.h", |
| + "dragdrop/drop_target_event.cc", |
| + "dragdrop/drop_target_event.h", |
| + "dragdrop/os_exchange_data.cc", |
| + "dragdrop/os_exchange_data.h", |
| + "nine_image_painter_factory.cc", |
| + "nine_image_painter_factory.h", |
| + ] |
| + } |
| + |
| + if (is_android) { |
| + sources -= [ |
| + "default_theme_provider.cc", |
| + "dragdrop/drag_utils.cc", |
| + "dragdrop/drag_utils.h", |
| + "l10n/l10n_font_util.cc", |
| + "models/button_menu_item_model.cc", |
| + "models/dialog_model.cc", |
| + "theme_provider.cc", |
| + "touch/touch_device.cc", |
| + "touch/touch_editing_controller.cc", |
| + "ui_base_types.cc", |
| + ] |
| + |
| + deps += [ |
| + #":ui_base_jni_headers", |
| + ] |
| + |
| + libs = [ |
| + "jnigraphics", |
| + ] |
| + } |
| + |
| + if (is_android && is_android_webview_build) { |
| + deps += [ |
| + #TODO(GYP): port this component to GN. |
| + #"//ui/android:ui_java", |
| + ] |
| + } |
| + |
| + if (is_android && !use_aura) { |
| + sources -= [ |
| + "cursor/cursor_android.cc", |
| + ] |
| + } |
| + |
| + if (is_android && use_aura) { |
| + sources -= [ |
| + "clipboard/clipboard_aura.cc", |
| + ] |
| + } |
| + |
| + if (is_android || is_ios) { |
| + sources -= [ |
| + "device_form_factor_desktop.cc", |
| + ] |
| + } |
| + |
| + # TODO(GYP): Port this to GN. |
| + #if (use_system_icu) { |
| + # When using the system icu, the icu targets generate shim headers |
| + # which are included by public headers in the ui target, so we need |
| + # ui to be a hard dependency for all its users. |
| + #'hard_dependency': 1, |
| + #} |
| +} |