From caeb7a0ca33ec99cd3dc68e95ca23ca4aa7e8068 Mon Sep 17 00:00:00 2001 From: "sgk@google.com" Date: Sat, 17 Jan 2009 02:25:22 +0000 Subject: 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 (, , ) 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 --- chrome/tools/convert_dict/convert_dict.scons | 71 ++++++++++-- chrome/tools/crash_service/crash_service.scons | 75 ++++++++++--- chrome/tools/perf/flush_cache/flush_cache.scons | 56 ++++++++-- chrome/tools/profiles/generate_profile.scons | 137 +++++++++++++++++------- chrome/tools/test/image_diff/image_diff.scons | 54 +++++++--- 5 files changed, 307 insertions(+), 86 deletions(-) (limited to 'chrome/tools') diff --git a/chrome/tools/convert_dict/convert_dict.scons b/chrome/tools/convert_dict/convert_dict.scons index 790a40f..07b7027 100644 --- a/chrome/tools/convert_dict/convert_dict.scons +++ b/chrome/tools/convert_dict/convert_dict.scons @@ -24,23 +24,72 @@ if env.Bit('windows'): ], ) -input_files = [ +input_files = ChromeFileList([ 'aff_reader.cc', + 'aff_reader.h', + '$CHROME_DIR/third_party/hunspell/google/bdict.h', + '$CHROME_DIR/third_party/hunspell/google/bdict_reader$OBJSUFFIX', + '$CHROME_DIR/third_party/hunspell/google/bdict_reader.h', + '$CHROME_DIR/third_party/hunspell/google/bdict_writer.cc', + '$CHROME_DIR/third_party/hunspell/google/bdict_writer.h', 'convert_dict.cc', 'dic_reader.cc', + 'dic_reader.h', 'hunspell_reader.cc', - '$CHROME_DIR/third_party/hunspell/google/bdict_reader$OBJSUFFIX', - '$CHROME_DIR/third_party/hunspell/google/bdict_writer.cc', -] + 'hunspell_reader.h', +]) + # TODO(port): if env.Bit('windows'): env.ChromeProgram('convert_dict', input_files) -env.ChromeMSVSProject('$CHROME_DIR/tools/convert_dict/convert_dict.vcproj', - dependencies = [ - '$BASE_DIR/build/base.vcproj', - '$ICU38_DIR/build/icu.vcproj', - '$ICU38_DIR/build/icudt.vcproj', - ], - guid='{42ECD5EC-722F-41DE-B6B8-83764C8016DF}') +p = env.ChromeMSVSProject('convert_dict.vcproj', + dest=('$CHROME_SRC_DIR/chrome/' + + 'tools/convert_dict/convert_dict.vcproj'), + guid='{42ECD5EC-722F-41DE-B6B8-83764C8016DF}', + keyword='Win32Proj', + dependencies = [ + '$BASE_DIR/build/base.vcproj', + '$ICU38_DIR/build/icu.vcproj', + '$ICU38_DIR/build/icudt.vcproj', + ], + # TODO(sgk): when we can intuit the hierarchy + # from the built targets. + #buildtargets=TODO, + files=input_files, + local_directory_prefix='./', + tools=[ + 'VCPreBuildEventTool', + 'VCCustomBuildTool', + 'VCXMLDataGeneratorTool', + 'VCWebServiceProxyGeneratorTool', + 'VCMIDLTool', + 'VCCLCompilerTool', + 'VCManagedResourceCompilerTool', + 'VCResourceCompilerTool', + 'VCPreLinkEventTool', + 'VCLinkerTool', + 'VCALinkTool', + 'VCManifestTool', + 'VCXDCMakeTool', + 'VCBscMakeTool', + 'VCFxCopTool', + 'VCAppVerifierTool', + 'VCWebDeploymentTool', + 'VCPostBuildEventTool', + ], + ConfigurationType='1') + + +p.AddConfig('Debug|Win32', + CharacterSet='2', + InheritedPropertySheets=[ + '../../../build/debug.vsprops', + ]) + +p.AddConfig('Release|Win32', + CharacterSet='2', + InheritedPropertySheets=[ + '../../../build/release.vsprops', + ]) diff --git a/chrome/tools/crash_service/crash_service.scons b/chrome/tools/crash_service/crash_service.scons index 78bce69..da8eddf 100644 --- a/chrome/tools/crash_service/crash_service.scons +++ b/chrome/tools/crash_service/crash_service.scons @@ -42,24 +42,69 @@ if env.Bit('windows'): ], ) -input_files = [ - 'main.cc', +input_files = ChromeFileList([ 'crash_service.cc', -] + 'crash_service.h', + 'main.cc', +]) # TODO(port): if env.Bit('windows'): env.ChromeProgram('crash_service', input_files) -env.ChromeMSVSProject('$CHROME_DIR/tools/crash_service/crash_service.vcproj', - dependencies = [ - '$BASE_DIR/build/base.vcproj', - '$ZLIB_DIR/zlib.vcproj', - '$CHROME_DIR/common/common.vcproj', - '$ICU38_DIR/build/icu.vcproj', - '$BREAKPAD_DIR/breakpad_sender.vcproj', - '$BASE_DIR/build/base_gfx.vcproj', - '$BREAKPAD_DIR/breakpad_handler.vcproj', - '$SKIA_DIR/skia.vcproj', - ], - guid='{89C1C190-A5D1-4EC4-BD6A-67FF2195C7CC}') +p = env.ChromeMSVSProject('crash_service.vcproj', + dest=('$CHROME_SRC_DIR/chrome/' + + 'tools/crash_service/crash_service.vcproj'), + guid='{89C1C190-A5D1-4EC4-BD6A-67FF2195C7CC}', + keyword='Win32Proj', + dependencies = [ + '$BASE_DIR/build/base.vcproj', + '$ZLIB_DIR/zlib.vcproj', + '$CHROME_DIR/common/common.vcproj', + '$ICU38_DIR/build/icu.vcproj', + '$BREAKPAD_DIR/breakpad_sender.vcproj', + '$BASE_DIR/build/base_gfx.vcproj', + '$BREAKPAD_DIR/breakpad_handler.vcproj', + '$SKIA_DIR/skia.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', + 'VCLinkerTool', + 'VCALinkTool', + 'VCManifestTool', + 'VCXDCMakeTool', + 'VCBscMakeTool', + 'VCFxCopTool', + 'VCAppVerifierTool', + 'VCWebDeploymentTool', + 'VCPostBuildEventTool', + ], + ConfigurationType='1') + + +p.AddConfig('Debug|Win32', + InheritedPropertySheets=[ + '$(SolutionDir)../build/common.vsprops', + '$(SolutionDir)../build/debug.vsprops', + '$(SolutionDir)../breakpad/using_breakpad.vsprops', + ]) + +p.AddConfig('Release|Win32', + InheritedPropertySheets=[ + '$(SolutionDir)../build/common.vsprops', + '$(SolutionDir)../build/release.vsprops', + '$(SolutionDir)../breakpad/using_breakpad.vsprops', + ]) diff --git a/chrome/tools/perf/flush_cache/flush_cache.scons b/chrome/tools/perf/flush_cache/flush_cache.scons index 9e90c34..ee36224 100644 --- a/chrome/tools/perf/flush_cache/flush_cache.scons +++ b/chrome/tools/perf/flush_cache/flush_cache.scons @@ -36,15 +36,55 @@ if env.Bit('windows'): ], ) -input_files = [ +input_files = ChromeFileList([ 'flush_cache.cc', -] +]) env.ChromeTestProgram('flush_cache', input_files) -env.ChromeMSVSProject('$CHROME_DIR/tools/perf/flush_cache/flush_cache.vcproj', - dependencies = [ - '$BASE_DIR/build/base.vcproj', - '$ICU38_DIR/build/icu.vcproj', - ], - guid='{4539AFB3-B8DC-47F3-A491-6DAC8FD26657}') +p = env.ChromeMSVSProject('flush_cache.vcproj', + dest=('$CHROME_SRC_DIR/chrome/' + + 'tools/perf/flush_cache/flush_cache.vcproj'), + guid='{4539AFB3-B8DC-47F3-A491-6DAC8FD26657}', + dependencies = [ + '$BASE_DIR/build/base.vcproj', + '$ICU38_DIR/build/icu.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', + 'VCLinkerTool', + 'VCALinkTool', + 'VCManifestTool', + 'VCXDCMakeTool', + 'VCBscMakeTool', + 'VCFxCopTool', + 'VCAppVerifierTool', + 'VCWebDeploymentTool', + 'VCPostBuildEventTool', + ], + ConfigurationType='1') + +p.AddConfig('Debug|Win32', + InheritedPropertySheets=[ + '$(SolutionDir)../build/common.vsprops', + '$(SolutionDir)../build/debug.vsprops', + ]) + +p.AddConfig('Release|Win32', + InheritedPropertySheets=[ + '$(SolutionDir)../build/common.vsprops', + '$(SolutionDir)../build/release.vsprops', + ]) diff --git a/chrome/tools/profiles/generate_profile.scons b/chrome/tools/profiles/generate_profile.scons index e6eee04..cead552 100644 --- a/chrome/tools/profiles/generate_profile.scons +++ b/chrome/tools/profiles/generate_profile.scons @@ -61,49 +61,106 @@ if env.Bit('windows'): ], ) -input_files = [ +input_files = ChromeFileList([ 'generate_profile.cc', -] + 'thumbnail-inl.h', +]) # TODO(port): if env.Bit('windows'): env.ChromeTestProgram('generate_profile', input_files) -env.ChromeMSVSProject('$CHROME_DIR/tools/profiles/generate_profile.vcproj', - dependencies = [ - '$BASE_DIR/build/base.vcproj', - '$WEBKIT_DIR/build/WebCore/WebCore.vcproj', - '$CHROME_DIR/plugin/plugin.vcproj', - '$LIBJPEG_DIR/libjpeg.vcproj', - '$BZIP2_DIR/bzip2.vcproj', - '$NET_DIR/build/net.vcproj', - ('$WEBKIT_DIR/build/JavaScriptCore/' + - 'JavaScriptCore_pcre.vcproj'), - '$WEBKIT_DIR/build/port/port.vcproj', - '$CHROME_DIR/browser/debugger/debugger.vcproj', - '$WEBKIT_DIR/default_plugin/default_plugin.vcproj', - '$CHROME_DIR/browser/browser.vcproj', - '$WEBKIT_DIR/build/V8Bindings/V8Bindings.vcproj', - '$SQLITE_DIR/sqlite.vcproj', - '$CHROME_DIR/views/views.vcproj', - '$MODP_B64_DIR/modp_b64.vcproj', - '$ZLIB_DIR/zlib.vcproj', - '$CHROME_DIR/common/common.vcproj', - '$ICU38_DIR/build/icu.vcproj', - '$CHROME_DIR/renderer/renderer.vcproj', - '$BASE_DIR/build/base_gfx.vcproj', - '$WEBKIT_DIR/build/JavaScriptCore/WTF.vcproj', - '$V8_DIR/tools/visual_studio/v8_snapshot.vcproj', - '$LIBPNG_DIR/libpng.vcproj', - '$WEBKIT_DIR/build/glue/glue.vcproj', - '$SKIA_DIR/skia.vcproj', - '$CHROME_DIR/third_party/hunspell/hunspell.vcproj', - '$GOOGLEURL_DIR/build/googleurl.vcproj', - '$CHROME_DIR/installer/util/util.vcproj', - '$WEBKIT_DIR/activex_shim/activex_shim.vcproj', - '$SDCH_DIR/sdch.vcproj', - '$CHROME_DIR/browser/views/browser_views.vcproj', - '$LIBXSLT_DIR/build/libxslt.vcproj', - - ], - guid='{2E969AE9-7B12-4EDB-8E8B-48C7AE7BE357}') +p = env.ChromeMSVSProject('generate_profile.vcproj', + dest=('$CHROME_SRC_DIR/chrome/' + + 'tools/profiles/generate_profile.vcproj'), + guid='{2E969AE9-7B12-4EDB-8E8B-48C7AE7BE357}', + keyword='Win32Proj', + dependencies = [ + '$BASE_DIR/build/base.vcproj', + '$WEBKIT_DIR/build/WebCore/WebCore.vcproj', + '$CHROME_DIR/plugin/plugin.vcproj', + '$LIBJPEG_DIR/libjpeg.vcproj', + '$BZIP2_DIR/bzip2.vcproj', + '$NET_DIR/build/net.vcproj', + ('$WEBKIT_DIR/build/JavaScriptCore/' + + 'JavaScriptCore_pcre.vcproj'), + '$WEBKIT_DIR/build/port/port.vcproj', + '$CHROME_DIR/browser/debugger/debugger.vcproj', + ('$WEBKIT_DIR/default_plugin/' + + 'default_plugin.vcproj'), + '$CHROME_DIR/browser/browser.vcproj', + '$WEBKIT_DIR/build/V8Bindings/V8Bindings.vcproj', + '$SQLITE_DIR/sqlite.vcproj', + '$CHROME_DIR/views/views.vcproj', + '$MODP_B64_DIR/modp_b64.vcproj', + '$ZLIB_DIR/zlib.vcproj', + '$CHROME_DIR/common/common.vcproj', + '$ICU38_DIR/build/icu.vcproj', + '$CHROME_DIR/renderer/renderer.vcproj', + '$BASE_DIR/build/base_gfx.vcproj', + '$WEBKIT_DIR/build/JavaScriptCore/WTF.vcproj', + '$V8_DIR/tools/visual_studio/v8_snapshot.vcproj', + '$LIBPNG_DIR/libpng.vcproj', + '$WEBKIT_DIR/build/glue/glue.vcproj', + '$SKIA_DIR/skia.vcproj', + ('$CHROME_DIR/third_party/' + + 'hunspell/hunspell.vcproj'), + '$GOOGLEURL_DIR/build/googleurl.vcproj', + '$CHROME_DIR/installer/util/util.vcproj', + '$WEBKIT_DIR/activex_shim/activex_shim.vcproj', + '$SDCH_DIR/sdch.vcproj', + '$CHROME_DIR/browser/views/browser_views.vcproj', + '$LIBXSLT_DIR/build/libxslt.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', + MSVSTool('VCCLCompilerTool', + AdditionalIncludeDirectories='../../..', + PreprocessorDefinitions='PERF_TEST'), + 'VCManagedResourceCompilerTool', + 'VCResourceCompilerTool', + 'VCPreLinkEventTool', + MSVSTool('VCLinkerTool', + AdditionalDependencies=[ + 'shlwapi.lib', + 'rpcrt4.lib', + 'winmm.lib' + ], + SubSystem='1'), + 'VCALinkTool', + 'VCManifestTool', + 'VCXDCMakeTool', + 'VCBscMakeTool', + 'VCFxCopTool', + 'VCAppVerifierTool', + 'VCWebDeploymentTool', + 'VCPostBuildEventTool', + ], + ConfigurationType='1') + + +p.AddConfig('Debug|Win32', + InheritedPropertySheets=[ + '$(SolutionDir)../build/common.vsprops', + '$(SolutionDir)../build/debug.vsprops', + '$(SolutionDir)../third_party/icu38/build/using_icu.vsprops', + '../../../skia/using_skia.vsprops', + ]) + +p.AddConfig('Release|Win32', + InheritedPropertySheets=[ + '$(SolutionDir)../build/common.vsprops', + '$(SolutionDir)../build/release.vsprops', + '$(SolutionDir)../third_party/icu38/build/using_icu.vsprops', + '../../../skia/using_skia.vsprops', + ]) diff --git a/chrome/tools/test/image_diff/image_diff.scons b/chrome/tools/test/image_diff/image_diff.scons index 69b691a..3c9b664 100644 --- a/chrome/tools/test/image_diff/image_diff.scons +++ b/chrome/tools/test/image_diff/image_diff.scons @@ -42,19 +42,49 @@ if env.Bit('windows'): ], ) -input_files = [ +input_files = ChromeFileList([ 'image_diff.cc', -] +]) env.ChromeTestProgram('image_diff', input_files) -env.ChromeMSVSProject('$CHROME_DIR/tools/test/image_diff/image_diff.vcproj', - dependencies = [ - '$BASE_DIR/build/base.vcproj', - '$ZLIB_DIR/zlib.vcproj', - '$ICU38_DIR/build/icu.vcproj', - '$BASE_DIR/build/base_gfx.vcproj', - '$LIBPNG_DIR/libpng.vcproj', - '$SKIA_DIR/skia.vcproj', - ], - guid='{50B079C7-CD01-42D3-B8C4-9F8D9322E822}') +p = env.ChromeMSVSProject('image_diff.vcproj', + dest=('$CHROME_SRC_DIR/chrome/' + + 'tools/test/image_diff/image_diff.vcproj'), + guid='{50B079C7-CD01-42D3-B8C4-9F8D9322E822}', + keyword='Win32Proj', + dependencies = [ + '$BASE_DIR/build/base.vcproj', + '$ZLIB_DIR/zlib.vcproj', + '$ICU38_DIR/build/icu.vcproj', + '$BASE_DIR/build/base_gfx.vcproj', + '$LIBPNG_DIR/libpng.vcproj', + '$SKIA_DIR/skia.vcproj', + ], + # TODO(sgk): when we can intuit the hierarchy + # from the built targets. + #buildtargets=TODO, + files=input_files, + relative_path_prefix='./', + tools=[ + MSVSTool('VCLinkerTool', + SubSystem='1'), + 'VCCLCompilerTool', + ], + ConfigurationType='1') + +p.AddConfig('Debug|Win32', + InheritedPropertySheets=[ + '$(SolutionDir)../build/common.vsprops', + '$(SolutionDir)../build/debug.vsprops', + '$(SolutionDir)../third_party/libpng/using_libpng.vsprops', + '$(SolutionDir)../third_party/zlib/using_zlib.vsprops', + ]) + +p.AddConfig('Release|Win32', + InheritedPropertySheets=[ + '$(SolutionDir)../build/common.vsprops', + '$(SolutionDir)../build/release.vsprops', + '$(SolutionDir)../third_party/libpng/using_libpng.vsprops', + '$(SolutionDir)../third_party/zlib/using_zlib.vsprops', + ]) -- cgit v1.1