# 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() env.Prepend( CPPPATH = [ '$TARGET_ROOT/grit_derived_sources', #'$OBJ_ROOT/google_update', '$OBJ_ROOT/chrome/tools/build/win', '$CHROME_SRC_DIR', ], CPPDEFINES = [ 'U_STATIC_IMPLEMENTATION', 'USE_HUNSPELL', 'HUNSPELL_CHROME_CLIENT', 'LIBXML_STATIC', 'PNG_USER_CONFIG', 'CHROME_PNG_WRITE_SUPPORT', ], ) if env.Bit('windows'): env.Prepend( CCFLAGS = [ '/TP', ], ) env.Append( CPPPATH = [ '$GTEST_DIR/include', '$GOOGLE_UPDATE_DIR', '$CHROME_DIR/third_party/hunspell/src/hunspell', '$CHROME_DIR/third_party/wtl/include', '$NPAPI_DIR', '$LIBXML_DIR/DerivedSources/include', '$LIBXML_DIR/include', '$ICU38_DIR/public/common', '$ICU38_DIR/public/i18n', '$CHROME_DIR/app', '$WEBKIT_DIR/build/localized_strings', '$ZLIB_DIR', '$SKIA_DIR/include', '$SKIA_DIR/include/corecg', '$SKIA_DIR/platform', '$LIBPNG_DIR', '$BREAKPAD_DIR/src', ], ) 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('Frame', [ 'frame/aero_glass_frame.cc', 'frame/aero_glass_frame.h', 'frame/aero_glass_non_client_view.cc', 'frame/aero_glass_non_client_view.h', 'frame/browser_frame.h', 'frame/browser_view.cc', 'frame/browser_view.h', 'frame/browser_window_factory.cc', 'frame/opaque_frame.cc', 'frame/opaque_frame.h', 'frame/opaque_non_client_view.cc', 'frame/opaque_non_client_view.h', ]), MSVSFilter('Info Bars', [ 'infobars/infobar_container.cc', 'infobars/infobar_container.h', 'infobars/infobars.cc', 'infobars/infobars.h', ]), MSVSFilter('Options', [ 'options/advanced_contents_view.cc', 'options/advanced_contents_view.h', 'options/advanced_page_view.cc', 'options/advanced_page_view.h', 'options/content_page_view.cc', 'options/content_page_view.h', 'options/cookies_view.cc', 'options/cookies_view.h', 'options/fonts_languages_window_view.cc', 'options/fonts_languages_window_view.h', 'options/fonts_page_view.cc', 'options/fonts_page_view.h', 'options/general_page_view.cc', 'options/general_page_view.h', 'options/language_combobox_model.cc', 'options/language_combobox_model.h', 'options/languages_page_view.cc', 'options/languages_page_view.h', 'options/options_group_view.cc', 'options/options_group_view.h', 'options/options_page_view.cc', 'options/options_page_view.h', 'options/options_window_view.cc', ]), MSVSFilter('Tabs', [ 'tabs/dragged_tab_controller.cc', 'tabs/dragged_tab_controller.h', 'tabs/dragged_tab_view.cc', 'tabs/dragged_tab_view.h', 'tabs/hwnd_photobooth.cc', 'tabs/hwnd_photobooth.h', 'tabs/tab.cc', 'tabs/tab.h', 'tabs/tab_renderer.cc', 'tabs/tab_renderer.h', 'tabs/tab_strip.cc', 'tabs/tab_strip.h', ]), MSVSFilter('Find Bar', [ 'find_bar_view.cc', 'find_bar_view.h', 'find_bar_win.cc', 'find_bar_win.h', ]), 'about_chrome_view.cc', 'about_chrome_view.h', 'about_ipc_dialog.cc', 'about_ipc_dialog.h', 'about_network_dialog.cc', 'about_network_dialog.h', 'blocked_popup_container.cc', 'blocked_popup_container.h', 'bookmark_bar_view.cc', 'bookmark_bar_view.h', 'bookmark_bubble_view.cc', 'bookmark_bubble_view.h', 'bookmark_editor_view.cc', 'bookmark_editor_view.h', 'bookmark_folder_tree_view.cc', 'bookmark_folder_tree_view.h', 'bookmark_manager_view.cc', 'bookmark_manager_view.h', 'bookmark_table_view.cc', 'bookmark_table_view.h', 'bug_report_view.cc', 'bug_report_view.h', 'clear_browsing_data.cc', 'clear_browsing_data.h', 'constrained_window_impl.cc', 'constrained_window_impl.h', 'delay_view.cc', 'delay_view.h', 'dom_view.cc', 'dom_view.h', 'download_item_view.cc', 'download_item_view.h', 'download_shelf_view.cc', 'download_shelf_view.h', 'download_started_animation.cc', 'download_started_animation.h', 'edit_keyword_controller.cc', 'edit_keyword_controller.h', 'event_utils.cc', 'event_utils.h', 'external_protocol_dialog.cc', 'external_protocol_dialog.h', 'first_run_bubble.cc', 'first_run_bubble.h', 'first_run_customize_view.cc', 'first_run_customize_view.h', 'first_run_view.cc', 'first_run_view.h', 'first_run_view_base.cc', 'first_run_view_base.h', 'go_button.cc', 'go_button.h', 'html_dialog_view.cc', 'html_dialog_view.h', 'hung_renderer_view.cc', 'hung_renderer_view.h', 'hwnd_html_view.cc', 'hwnd_html_view.h', 'importer_lock_view.cc', 'importer_lock_view.h', 'importer_view.cc', 'importer_view.h', 'importing_progress_view.cc', 'importing_progress_view.h', 'info_bubble.cc', 'info_bubble.h', 'input_window.cc', 'input_window.h', 'keyword_editor_view.cc', 'keyword_editor_view.h', 'location_bar_view.cc', 'location_bar_view.h', 'login_view.cc', 'login_view.h', 'new_profile_dialog.cc', 'new_profile_dialog.h', 'page_info_window.cc', 'page_info_window.h', 'password_manager_view.cc', 'password_manager_view.h', '$CHROME_DIR/tools/build/win/precompiled_wtl$OBJSUFFIX', '$CHROME_DIR/tools/build/win/precompiled_wtl.h', 'restart_message_box.cc', 'restart_message_box.h', 'sad_tab_view.cc', 'sad_tab_view.h', 'select_profile_dialog.cc', 'select_profile_dialog.h', 'shelf_item_dialog.cc', 'shelf_item_dialog.h', 'shell_dialogs_win.cc', 'standard_layout.h', 'star_toggle.cc', 'star_toggle.h', 'status_bubble.cc', 'status_bubble.h', 'tab_contents_container_view.cc', 'tab_contents_container_view.h', 'tab_icon_view.cc', 'tab_icon_view.h', 'theme_helpers.cc', 'theme_helpers.h', 'toolbar_star_toggle.cc', 'toolbar_star_toggle.h', 'toolbar_view.cc', 'toolbar_view.h', 'user_data_dir_dialog.cc', 'user_data_dir_dialog.h', ]) if env.Bit('linux'): # TODO(port): Port to Linux. input_files.Remove( 'about_chrome_view.cc', 'about_ipc_dialog.cc', 'about_network_dialog.cc', 'blocked_popup_container.cc', 'bookmark_bar_view.cc', 'bookmark_bubble_view.cc', 'bookmark_editor_view.cc', 'bookmark_folder_tree_view.cc', 'bookmark_manager_view.cc', 'bookmark_table_view.cc', 'bug_report_view.cc', 'clear_browsing_data.cc', 'constrained_window_impl.cc', 'delay_view.cc', 'dom_view.cc', 'download_item_view.cc', 'download_shelf_view.cc', 'download_started_animation.cc', 'edit_keyword_controller.cc', 'external_protocol_dialog.cc', 'find_bar_view.cc', 'first_run_bubble.cc', 'first_run_customize_view.cc', 'first_run_view.cc', 'first_run_view_base.cc', 'frame/aero_glass_frame.cc', 'frame/aero_glass_non_client_view.cc', 'frame/browser_view.cc', 'frame/browser_window_factory.cc', 'frame/opaque_frame.cc', 'frame/opaque_non_client_view.cc', 'go_button.cc', 'html_dialog_view.cc', 'hung_renderer_view.cc', 'hwnd_html_view.cc', 'importer_lock_view.cc', 'importer_view.cc', 'importing_progress_view.cc', 'info_bubble.cc', 'infobars/infobar_container.cc', 'infobars/infobars.cc', 'input_window.cc', 'keyword_editor_view.cc', 'location_bar_view.cc', 'login_view.cc', 'new_profile_dialog.cc', 'options/advanced_contents_view.cc', 'options/advanced_page_view.cc', 'options/content_page_view.cc', 'options/cookies_view.cc', 'options/fonts_languages_window_view.cc', 'options/fonts_page_view.cc', 'options/general_page_view.cc', 'options/language_combobox_model.cc', 'options/languages_page_view.cc', 'options/options_group_view.cc', 'options/options_page_view.cc', 'options/options_window_view.cc', 'page_info_window.cc', 'password_manager_view.cc', 'restart_message_box.cc', 'select_profile_dialog.cc', 'shelf_item_dialog.cc', 'shell_dialogs_win.cc', 'star_toggle.cc', 'status_bubble.cc', 'tab_contents_container_view.cc', 'tab_icon_view.cc', 'tabs/dragged_tab_controller.cc', 'tabs/dragged_tab_view.cc', 'tabs/hwnd_photobooth.cc', 'tabs/tab.cc', 'tabs/tab_renderer.cc', 'tabs/tab_strip.cc', 'theme_helpers.cc', 'toolbar_star_toggle.cc', 'toolbar_view.cc', 'user_data_dir_dialog.cc', ) if env.Bit('mac'): # TODO(port): Port to Mac. input_files.Remove( 'about_chrome_view.cc', 'about_ipc_dialog.cc' 'about_network_dialog.cc' 'blocked_popup_container.cc', 'bookmark_bar_view.cc', 'bookmark_bubble_view.cc', 'bookmark_editor_view.cc', 'bookmark_folder_tree_view.cc', 'bookmark_manager_view.cc', 'bookmark_table_view.cc', 'bug_report_view.cc', 'clear_browsing_data.cc', 'constrained_window_impl.cc', 'delay_view.cc', 'dom_view.cc', 'download_item_view.cc', 'download_shelf_view.cc', 'download_started_animation.cc', 'edit_keyword_controller.cc', 'event_utils.cc', 'external_protocol_dialog.cc', 'find_bar_view.cc', 'first_run_bubble.cc', 'first_run_customize_view.cc', 'first_run_view.cc', 'first_run_view_base.cc', 'frame/aero_glass_frame.cc', 'frame/aero_glass_non_client_view.cc', 'frame/browser_view.cc', 'frame/browser_window_factory.cc', 'frame/opaque_frame.cc', 'frame/opaque_non_client_view.cc', 'go_button.cc', 'html_dialog_view.cc', 'hung_renderer_view.cc', 'hwnd_html_view.cc', 'importer_lock_view.cc', 'importer_view.cc', 'importing_progress_view.cc', 'info_bubble.cc', 'infobars/infobar_container.cc', 'infobars/infobars.cc', 'input_window.cc', 'keyword_editor_view.cc', 'location_bar_view.cc', 'login_view.cc', 'new_profile_dialog.cc', 'options/advanced_contents_view.cc', 'options/advanced_page_view.cc', 'options/content_page_view.cc', 'options/cookies_view.cc', 'options/fonts_languages_window_view.cc', 'options/fonts_page_view.cc', 'options/general_page_view.cc', 'options/language_combobox_model.cc', 'options/languages_page_view.cc', 'options/options_group_view.cc', 'options/options_page_view.cc', 'options/options_window_view.cc', 'page_info_window.cc', 'password_manager_view.cc', 'restart_message_box.cc', 'sad_tab_view.cc', 'select_profile_dialog.cc', 'shelf_item_dialog.cc', 'shell_dialogs_win.cc', 'star_toggle.cc', 'status_bubble.cc', 'tab_contents_container_view.cc', 'tab_icon_view.cc', 'tabs/dragged_tab_controller.cc', 'tabs/dragged_tab_view.cc', 'tabs/hwnd_photobooth.cc', 'tabs/tab.cc', 'tabs/tab_renderer.cc', 'tabs/tab_strip.cc', 'theme_helpers.cc', 'toolbar_star_toggle.cc', 'toolbar_view.cc', 'user_data_dir_dialog.cc', ) if not env.Bit('windows'): input_files.Remove( 'find_bar_win.cc', '$CHROME_DIR/tools/build/win/precompiled_wtl$OBJSUFFIX', '$CHROME_DIR/tools/build/win/precompiled_wtl.h', ) env.ChromeLibrary('browser_views', input_files) p = env.ChromeMSVSProject('browser_views.vcproj', dest=('$CHROME_SRC_DIR/chrome/' + 'browser/views/browser_views.vcproj'), root_namespace='Browser_views', guid='{FA537565-7B03-4FFC-AF15-F7A979B72E22}', keyword='Win32Proj', dependencies = [ '$LIBXML_DIR/build/libxml_config.vcproj', '$GOOGLE_UPDATE_DIR/ondemand_updates.vcproj', '$CHROME_DIR/app/generated_resources.vcproj', ], # TODO(sgk): when we can intuit the hierarchy # from the built targets. #buildtargets=TODO, files=input_files, 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=[ '../browser.vsprops', '$(SolutionDir)../build/debug.vsprops', '../../tools/build/win/precompiled_wtl.vsprops', ]) p.AddConfig('Release|Win32', InheritedPropertySheets=[ '../browser.vsprops', '$(SolutionDir)../build/release.vsprops', '$(SolutionDir)/tools/build/win/js_engine.vsprops', ]) p.AddFileConfig('../../tools/build/win/precompiled_wtl.cc', 'Debug|Win32', tools=[ MSVSTool('VCCLCompilerTool', UsePrecompiledHeader='1'), ]) p.AddFileConfig('../../tools/build/win/precompiled_wtl.cc', 'Release|Win32', ExcludedFromBuild='true', tools=[ 'VCCLCompilerTool', ])