# Copyright (c) 2006-2008 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('env') env = env.Clone() if env.Bit('windows'): env.Prepend( CPPPATH = [ '$CHROME_DIR/tools/build/win', '$CHROME_SRC_DIR', ], CCFLAGS = [ '/TP', #'/Wp64', ], ) env.Append( CPPPATH = [ '$TARGET_ROOT/grit_derived_sources', '$ICU38_DIR/public/common', '$ICU38_DIR/public/i18n', '$SKIA_DIR/include', '$SKIA_DIR/include/corecg', '$SKIA_DIR/include/platform', 'third_party/wtl/include', ], ) input_files = ChromeFileList([ # TODO(sgk): violate standard indentation so we don't have to # reindent too much when we remove the explicit MSVSFilter() calls # in favor of generating the hierarchy to reflect the file system. MSVSFilter('Accessibility', [ 'accessibility/accessible_wrapper.cc', 'accessibility/accessible_wrapper.h', 'accessibility/view_accessibility.cc', 'accessibility/view_accessibility.h', ]), 'accelerator.cc', 'accelerator.h', 'background.cc', 'background.h', 'controls/button/button.cc', 'controls/button/button.h', 'controls/scrollbar/bitmap_scroll_bar.cc', 'controls/scrollbar/bitmap_scroll_bar.h', 'border.cc', 'border.h', 'controls/button/custom_button.cc', 'controls/button/custom_button.h', 'controls/button/image_button.cc', 'controls/button/image_button.h', 'controls/button/button_dropdown.cc', 'controls/button/button_dropdown.h', 'controls/button/checkbox.cc', 'controls/button/checkbox.h', 'controls/menu/chrome_menu.cc', 'controls/menu/chrome_menu.h', 'controls/combo_box.cc', 'controls/combo_box.h', 'controls/menu/controller.h', 'event.cc', 'event.h', 'focus/external_focus_tracker.cc', 'focus/external_focus_tracker.h', 'focus/focus_manager.cc', 'focus/focus_manager.h', 'focus/view_storage.cc', 'focus/view_storage.h', 'fill_layout.cc', 'fill_layout.h', 'grid_layout.cc', 'grid_layout.h', 'controls/table/group_table_view.cc', 'controls/table/group_table_view.h', 'controls/hwnd_view.cc', 'controls/hwnd_view.h', 'controls/image_view.cc', 'controls/image_view.h', 'controls/label.cc', 'controls/label.h', 'layout_manager.cc', 'layout_manager.h', 'controls/link.cc', 'controls/link.h', 'controls/menu/menu.cc', 'controls/menu/menu.h', 'controls/button/menu_button.cc', 'controls/button/menu_button.h', 'controls/message_box_view.cc', 'controls/message_box_view.h', 'controls/button/native_button.cc', 'controls/button/native_button.h', 'controls/native_control.cc', 'controls/native_control.h', 'controls/scrollbar/native_scroll_bar.cc', 'controls/scrollbar/native_scroll_bar.h', 'painter.cc', 'painter.h', '$CHROME_DIR/tools/build/win/precompiled_wtl$OBJSUFFIX', '$CHROME_DIR/tools/build/win/precompiled_wtl.h', 'controls/button/radio_button.cc', 'controls/button/radio_button.h', 'repeat_controller.cc', 'repeat_controller.h', 'resize_corner.cc', 'resize_corner.h', 'controls/scrollbar/scroll_bar.cc', 'controls/scrollbar/scroll_bar.h', 'controls/scroll_view.cc', 'controls/scroll_view.h', 'controls/separator.cc', 'controls/separator.h', 'controls/single_split_view.cc', 'controls/single_split_view.h', 'controls/tabbed_pane.cc', 'controls/tabbed_pane.h', 'controls/table/table_view.cc', 'controls/table/table_view.h', 'controls/button/text_button.cc', 'controls/button/text_button.h', 'controls/text_field.cc', 'controls/text_field.h', 'controls/throbber.cc', 'controls/throbber.h', 'controls/tree/tree_model.h', 'controls/tree/tree_node_iterator.h', 'controls/tree/tree_node_model.h', 'controls/tree/tree_view.cc', 'controls/tree/tree_view.h', 'view.cc', 'view.h', 'view_constants.cc', 'view_constants.h', 'controls/menu/view_menu_delegate.h', 'widget/accelerator_handler.cc', 'widget/accelerator_handler.h', 'widget/aero_tooltip_manager.cc', 'widget/aero_tooltip_manager.h', 'widget/hwnd_notification_source.h', 'widget/root_view.cc', 'widget/root_view.h', 'widget/root_view_drop_target.cc', 'widget/root_view_drop_target.h', 'widget/tooltip_manager.cc', 'widget/tooltip_manager.h', 'widget/widget.h', 'widget/widget_win.cc', 'widget/widget_win.h', 'window/app_modal_dialog_delegate.h', 'window/client_view.cc', 'window/client_view.h', 'window/custom_frame_view.cc', 'window/custom_frame_view.h', 'window/dialog_client_view.cc', 'window/dialog_client_view.h', 'window/dialog_delegate.cc', 'window/dialog_delegate.h', 'window/native_frame_view.cc', 'window/native_frame_view.h', 'window/non_client_view.cc', 'window/non_client_view.h', 'window/window.h', 'window/window_delegate.cc', 'window/window_delegate.h', 'window/window_resources.h', ]) if not env.Bit('windows'): # Windows-specific. input_files.Remove( '$CHROME_DIR/tools/build/win/precompiled_wtl$OBJSUFFIX', '$CHROME_DIR/tools/build/win/precompiled_wtl.h', ) if env.Bit('windows'): input_files += [ "view_win.cc", "widget/root_view_win.cc" ] if env.Bit('linux'): input_files += [ 'event_gtk.cc', 'view_gtk.cc', 'widget/root_view_gtk.cc', 'widget/widget_gtk.cc' ] # TODO(port?): Incomplete and undecided Views stuff. These compile but aren't # currently needed, and they break the shared build due to missing symbols # (from files that aren't yet ported). # # TOD(erg): Commenting this section out because we're trying to get views to # compile under Linux again. # input_files.Remove( # 'background.cc', # 'border.cc', # 'focus/external_focus_tracker.cc', # 'focus/view_storage.cc', # 'grid_layout.cc', # 'controls/image_view.cc', # 'controls/label.cc', # 'layout_manager.cc', # 'painter.cc', # 'repeat_controller.cc', # 'controls/scrollbar/scroll_bar.cc', # 'controls/scroll_view.cc', # 'controls/throbber.cc', # 'view.cc', # 'widget/root_view.cc', # ) # TODO(port): Port to Linux. input_files.Remove( 'accelerator.cc', 'accessibility/accessible_wrapper.cc', 'accessibility/view_accessibility.cc', 'controls/scrollbar/bitmap_scroll_bar.cc', 'controls/button/image_button.cc', 'controls/button/button_dropdown.cc', 'controls/button/checkbox.cc', 'controls/menu/chrome_menu.cc', 'controls/combo_box.cc', 'focus/focus_manager.cc', 'controls/table/group_table_view.cc', 'controls/hwnd_view.cc', 'controls/link.cc', 'controls/menu/menu.cc', 'controls/button/menu_button.cc', 'controls/message_box_view.cc', 'controls/button/native_button.cc', 'controls/native_control.cc', 'controls/scrollbar/native_scroll_bar.cc', 'controls/button/radio_button.cc', 'resize_corner.cc', 'controls/separator.cc', 'controls/single_split_view.cc', 'controls/tabbed_pane.cc', 'controls/table/table_view.cc', 'controls/text_field.cc', 'controls/tree/tree_view.cc', 'widget/accelerator_handler.cc', 'widget/aero_tooltip_manager.cc', 'widget/root_view_drop_target.cc', 'widget/tooltip_manager.cc', 'widget/widget_win.cc', 'window/client_view.cc', 'window/custom_frame_view.cc', 'window/dialog_delegate.cc', 'window/dialog_client_view.cc', 'window/native_frame_view.cc', 'window/non_client_view.cc', 'window/window_delegate.cc', 'window/window_win.cc', ) env.ChromeLibrary('views', input_files) p = env.ChromeMSVSProject('views.vcproj', dest='$CHROME_SRC_DIR/chrome/views/views.vcproj', guid='{6F9258E5-294F-47B2-919D-17FFE7A8B751}', keyword='Win32Proj', dependencies = [ '$CHROME_DIR/app/generated_resources.vcproj', ], # TODO(sgk): when we can intuit the hierarchy # from the built targets. #buildtargets=TODO, files=input_files, root_namespace = 'Views', relative_path_prefix='./', tools=[ 'VCPreBuildEventTool', 'VCCustomBuildTool', 'VCXMLDataGeneratorTool', 'VCWebServiceProxyGeneratorTool', 'VCMIDLTool', 'VCCLCompilerTool', 'VCManagedResourceCompilerTool', 'VCResourceCompilerTool', 'VCPreLinkEventTool', 'VCLibrarianTool', 'VCALinkTool', 'VCXDCMakeTool', 'VCBscMakeTool', 'VCFxCopTool', 'VCPostBuildEventTool', ], ConfigurationType='4') p.AddConfig('Debug|Win32', InheritedPropertySheets=[ './views.vsprops', '$(SolutionDir)../build/debug.vsprops', '../tools/build/win/precompiled_wtl.vsprops', '../../third_party/icu38/build/using_icu.vsprops', ]) p.AddConfig('Release|Win32', InheritedPropertySheets=[ './views.vsprops', '$(SolutionDir)../build/release.vsprops', '../../third_party/icu38/build/using_icu.vsprops', ]) p.AddFileConfig('../tools/build/win/precompiled_wtl.cc', 'Debug|Win32', tools=[ MSVSTool('VCCLCompilerTool', UsePrecompiledHeader='1'), ])