summaryrefslogtreecommitdiffstats
path: root/chrome/common/common.scons
diff options
context:
space:
mode:
authorsgk@google.com <sgk@google.com@0039d316-1c4b-4281-b951-d872f2087c98>2009-01-17 02:25:22 +0000
committersgk@google.com <sgk@google.com@0039d316-1c4b-4281-b951-d872f2087c98>2009-01-17 02:25:22 +0000
commitcaeb7a0ca33ec99cd3dc68e95ca23ca4aa7e8068 (patch)
tree26d23c79d97efa44f69d1b447ae4618bf34fc609 /chrome/common/common.scons
parent75ddd63be217e7fed76f90578a8918ab75b3ead8 (diff)
downloadchromium_src-caeb7a0ca33ec99cd3dc68e95ca23ca4aa7e8068.zip
chromium_src-caeb7a0ca33ec99cd3dc68e95ca23ca4aa7e8068.tar.gz
chromium_src-caeb7a0ca33ec99cd3dc68e95ca23ca4aa7e8068.tar.bz2
Generate all chrome .vcproj files:
* Path name translation (/ to \) of various MSVSTool attributes. * Explicit keyword= arguments to MSVSProject. This will likely go away eventually in favor of uniform behavior. * Add a relative_path_substitutions array that can be used to substitute in Visual Studio variable like $(OutDir). * Add a local_directory_prefix that can be set to './' to only affect files in the current directory. * Additional Keyword ordering in Tool attributes to continue to match the default order Visual Studio generates. * Add a Derived() proxy class that can wrap a File node to tell the .vcproj generation that we want the derived file, not its source(s), in the file list. * In the individual *.scons files, add the necessary files (mostly .h files) to file lists, and update MSVSProject() calls with the additional necessary information. Result is identical .vcproj files modulo the following differences: * Four locales .vcproj files (da, en-US, he and zh-TW) with source file orders that don't match the other locale .vcproj files have re-ordered file lists to match the rest. * Cosmetic XML changes (white space, ending tags) in: chrome/app/chrome_dll.vcproj chrome/app/generated_resources.vcproj net/build/net_resources.vcproj * Removal or addition of ./ prefixes from various files that don't match the other file specifications within their individual .vcproj files: chrome/installer/util/util.vcproj net/build/net.vcproj net/build/net_unittests.vcproj * Add missing empty sections (<ToolFiles>, <References>, <Globals>) for consistency with other .vcproj files: chrome/tools/test/image_diff/image_diff.vcproj third_party/libpng/libpng.vcproj third_party/zlib/zlib.vcproj * Add missing RootNameSpace attribute: chrome/test/automation/automation.vcproj testing/gtest.vcproj * Use && instead of \r\n as a command separator, to sidestep XML-generation problems: chrome/app/chrome_exe.vcproj * Remove unnecessary (?) duplicate files in the file list: chrome/browser/views/browser_views.vcproj (event_utils.cc and event_utils.h were duplicated) Review URL: http://codereview.chromium.org/17603 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@8253 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/common/common.scons')
-rw-r--r--chrome/common/common.scons298
1 files changed, 233 insertions, 65 deletions
diff --git a/chrome/common/common.scons b/chrome/common/common.scons
index c59ca6c..64c9f15 100644
--- a/chrome/common/common.scons
+++ b/chrome/common/common.scons
@@ -39,57 +39,177 @@ if env.Bit('windows'):
],
)
-input_files = []
-
-input_files.extend([
- 'animation.cc',
- 'chrome_constants.cc',
- 'chrome_counters.cc',
- 'chrome_paths.cc',
- 'chrome_switches.cc',
- 'common_glue.cc',
- 'debug_flags.cc',
- 'env_vars.cc',
- 'gfx/chrome_canvas.cc',
- 'gfx/color_utils.cc',
- 'ipc_channel_proxy.cc',
- 'ipc_message.cc',
- 'ipc_message_utils.cc',
- 'ipc_sync_channel.cc',
- 'ipc_sync_message.cc',
- 'jpeg_codec.cc',
- 'json_value_serializer.cc',
- 'l10n_util.cc',
- 'libxml_utils.cc',
- 'logging_chrome.cc',
- 'message_router.cc',
- 'net/cookie_monster_sqlite.cc',
- 'net/url_request_intercept_job.cc',
- 'notification_registrar.cc',
- 'notification_service.cc',
- 'pref_member.cc',
- 'pref_names.cc',
- 'pref_service.cc',
- 'property_bag.cc',
- 'render_messages.cc',
- 'resource_bundle.cc',
- 'resource_dispatcher.cc',
- 'sandbox_init_wrapper.cc',
- 'slide_animation.cc',
- 'sqlite_compiled_statement.cc',
- 'sqlite_utils.cc',
- 'task_queue.cc',
- 'throb_animation.cc',
- 'time_format.cc',
- 'thumbnail_score.cc',
- 'unzip.cc',
- 'visitedlink_common.cc',
- 'worker_thread_ticker.cc',
+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('net', [
+ 'net/cookie_monster_sqlite.cc',
+ 'net/cookie_monster_sqlite.h',
+ 'net/dns.h',
+ 'net/url_request_intercept_job.cc',
+ 'net/url_request_intercept_job.h',
+ ]),
+ MSVSFilter('gfx', [
+ 'gfx/chrome_canvas.cc',
+ 'gfx/chrome_canvas.h',
+ 'gfx/chrome_canvas_skia.cc',
+ 'gfx/chrome_canvas_win.cc',
+ 'gfx/chrome_font.h',
+ 'gfx/chrome_font_gtk.cc',
+ 'gfx/chrome_font_skia.cc',
+ 'gfx/chrome_font_win.cc',
+ 'gfx/color_utils.cc',
+ 'gfx/color_utils.h',
+ 'gfx/emf.cc',
+ 'gfx/emf.h',
+ 'gfx/favicon_size.h',
+ 'gfx/icon_util.cc',
+ 'gfx/icon_util.h',
+ 'gfx/insets.h',
+ 'gfx/path.cc',
+ 'gfx/path.h',
+ 'gfx/text_elider.cc',
+ 'gfx/text_elider.h',
+ 'gfx/utils.h',
+ ]),
+ MSVSFilter('ipc', [
+ 'ipc_channel.h',
+ 'ipc_channel_posix.cc',
+ 'ipc_channel_proxy.cc',
+ 'ipc_channel_proxy.h',
+ 'ipc_channel_win.cc',
+ 'ipc_logging.cc',
+ 'ipc_logging.h',
+ 'ipc_message.cc',
+ 'ipc_message.h',
+ 'ipc_message_macros.h',
+ 'ipc_message_utils.cc',
+ 'ipc_message_utils.h',
+ 'ipc_sync_channel.cc',
+ 'ipc_sync_channel.h',
+ 'ipc_sync_message.cc',
+ 'ipc_sync_message.h',
+ 'plugin_messages.cc',
+ 'plugin_messages.h',
+ 'plugin_messages_internal.h',
+ 'render_messages.cc',
+ 'render_messages.h',
+ 'render_messages_internal.h',
+ ]),
+ 'animation.cc',
+ 'animation.h',
+ 'child_process.cc',
+ 'child_process.h',
+ 'chrome_constants.cc',
+ 'chrome_constants.h',
+ 'chrome_counters.cc',
+ 'chrome_counters.h',
+ 'chrome_paths.cc',
+ 'chrome_paths.h',
+ 'chrome_plugin_api.h',
+ 'chrome_plugin_lib.cc',
+ 'chrome_plugin_lib.h',
+ 'chrome_plugin_util.cc',
+ 'chrome_plugin_util.h',
+ 'chrome_process_filter.cc',
+ 'chrome_process_filter.h',
+ 'chrome_switches.cc',
+ 'chrome_switches.h',
+ 'classfactory.cc',
+ 'classfactory.h',
+ 'clipboard_service.h',
+ 'common_glue.cc',
+ 'common_resources.h',
+ 'debug_flags.cc',
+ 'debug_flags.h',
+ 'drag_drop_types.cc',
+ 'drag_drop_types.h',
+ 'env_vars.cc',
+ 'env_vars.h',
+ 'filter_policy.h',
+ 'gears_api.h',
+ 'jpeg_codec.cc',
+ 'jpeg_codec.h',
+ 'json_value_serializer.cc',
+ 'json_value_serializer.h',
+ 'jstemplate_builder.cc',
+ 'jstemplate_builder.h',
+ 'l10n_util.cc',
+ 'l10n_util.h',
+ 'libxml_utils.cc',
+ 'libxml_utils.h',
+ 'logging_chrome.cc',
+ 'logging_chrome.h',
+ 'main_function_params.h',
+ 'message_router.cc',
+ 'message_router.h',
+ 'mru_cache.h',
+ 'navigation_types.h',
+ 'notification_details.h',
+ 'notification_registrar.cc',
+ 'notification_registrar.h',
+ 'notification_service.cc',
+ 'notification_service.h',
+ 'notification_source.h',
+ 'notification_types.h',
+ 'os_exchange_data.cc',
+ 'os_exchange_data.h',
+ 'page_transition_types.h',
+ 'page_zoom.h',
+ '$CHROME_DIR/tools/build/win/precompiled$OBJSUFFIX',
+ '$CHROME_DIR/tools/build/win/precompiled.h',
+ 'pref_member.cc',
+ 'pref_member.h',
+ 'pref_names.cc',
+ 'pref_names.h',
+ 'pref_service.cc',
+ 'pref_service.h',
+ 'process_watcher.cc',
+ 'process_watcher.h',
+ 'property_bag.cc',
+ 'property_bag.h',
+ 'ref_counted_util.h',
+ 'resource_bundle.cc',
+ 'resource_bundle.h',
+ 'resource_bundle_win.cc',
+ 'resource_dispatcher.cc',
+ 'resource_dispatcher.h',
+ 'sandbox_init_wrapper.cc',
+ 'sandbox_init_wrapper.h',
+ 'scoped_vector.h',
+ 'security_filter_peer.cc',
+ 'security_filter_peer.h',
+ 'slide_animation.cc',
+ 'slide_animation.h',
+ 'sqlite_compiled_statement.cc',
+ 'sqlite_compiled_statement.h',
+ 'sqlite_utils.cc',
+ 'sqlite_utils.h',
+ 'stl_util-inl.h',
+ 'task_queue.cc',
+ 'task_queue.h',
+ 'throb_animation.cc',
+ 'throb_animation.h',
+ 'thumbnail_score.cc',
+ 'thumbnail_score.h',
+ 'time_format.cc',
+ 'time_format.h',
+ 'unzip.cc',
+ 'unzip.h',
+ 'visitedlink_common.cc',
+ 'visitedlink_common.h',
+ 'win_safe_util.cc',
+ 'win_safe_util.h',
+ 'win_util.cc',
+ 'win_util.h',
+ 'worker_thread_ticker.cc',
+ 'worker_thread_ticker.h',
])
-if env.Bit('windows'):
+if not env.Bit('windows'):
# TODO(port): Port these.
- input_files.extend([
+ input_files.Remove(
'child_process.cc',
'chrome_plugin_lib.cc',
'chrome_plugin_util.cc',
@@ -107,37 +227,85 @@ if env.Bit('windows'):
'security_filter_peer.cc',
'win_safe_util.cc',
'win_util.cc',
- ])
+ )
-if env.Bit('windows'):
+if not env.Bit('windows'):
# Windows specific files
- input_files.extend([
+ input_files.Remove(
'classfactory.cc',
'gfx/chrome_canvas_win.cc',
'gfx/chrome_font_win.cc',
'ipc_channel_win.cc',
'resource_bundle_win.cc',
- ])
-elif env.Bit('linux'):
- input_files.extend([
+ '$CHROME_DIR/tools/build/win/precompiled$OBJSUFFIX',
+ )
+
+if not env.Bit('linux'):
+ # Linux specific files
+ input_files.Remove(
'gfx/chrome_canvas_skia.cc',
'gfx/chrome_font_gtk.cc',
'gfx/chrome_font_skia.cc',
- ])
+ )
-if env.Bit('posix'):
- input_files.extend([
+if not env.Bit('posix'):
+ input_files.Remove(
'ipc_channel_posix.cc',
- ])
-
+ )
if not env.Bit('mac'):
# TODO(port): This should be enabled for all platforms.
env.ChromeLibrary('common', input_files)
-env.ChromeMSVSProject('$CHROME_DIR/common/common.vcproj',
- dependencies = [
- '$LIBXML_DIR/build/libxml_config.vcproj',
- '$CHROME_DIR/app/generated_resources.vcproj',
- ],
- guid='{899F1280-3441-4D1F-BA04-CCD6208D9146}')
+p = env.ChromeMSVSProject('common.vcproj',
+ dest='$CHROME_SRC_DIR/chrome/common/common.vcproj',
+ guid='{899F1280-3441-4D1F-BA04-CCD6208D9146}',
+ keyword='Win32Proj',
+ dependencies = [
+ '$LIBXML_DIR/build/libxml_config.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=[
+ './common.vsprops',
+ '$(SolutionDir)../build/debug.vsprops',
+ '../tools/build/win/precompiled.vsprops',
+ ])
+
+p.AddConfig('Release|Win32',
+ InheritedPropertySheets=[
+ './common.vsprops',
+ '$(SolutionDir)../build/release.vsprops',
+ ])
+
+p.AddFileConfig('../tools/build/win/precompiled.cc',
+ 'Debug|Win32',
+ tools=[
+ MSVSTool('VCCLCompilerTool',
+ UsePrecompiledHeader='1'),
+ ])