summaryrefslogtreecommitdiffstats
path: root/chrome/installer
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/installer
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/installer')
-rw-r--r--chrome/installer/mini_installer/mini_installer.scons193
-rw-r--r--chrome/installer/setup/setup.scons75
-rw-r--r--chrome/installer/util/installer_unittests.scons76
-rw-r--r--chrome/installer/util/util.scons129
4 files changed, 371 insertions, 102 deletions
diff --git a/chrome/installer/mini_installer/mini_installer.scons b/chrome/installer/mini_installer/mini_installer.scons
index 0fefbe1..c4c4ae8 100644
--- a/chrome/installer/mini_installer/mini_installer.scons
+++ b/chrome/installer/mini_installer/mini_installer.scons
@@ -75,21 +75,33 @@ if env.Bit('windows'):
],
)
-input_files = [
- "mini_installer.cc",
- "pe_resource.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('resources', [
+ 'mini_installer.ico',
+ 'mini_installer.rc',
+ 'mini_installer_exe_version.rc.version',
+ 'mini_installer_resource.h',
+ ]),
+ 'chrome.release',
+ 'mini_installer.cc',
+ 'mini_installer.h',
+ 'pe_resource.cc',
+ 'pe_resource.h',
+])
if env.Bit('windows'):
- input_files.extend([
+ additional_dependencies = [
"$VISUAL_STUDIO/VC/crt/src/intel/mt_lib/memset.obj",
"$VISUAL_STUDIO/VC/crt/src/intel/mt_lib/P4_memset.obj",
- ])
- input_files.extend(resources)
+ ]
# TODO(port):
if env.Bit('windows'):
- env.ChromeProgram('mini_installer', input_files)
+ env.ChromeProgram('mini_installer',
+ input_files + additional_dependencies + resources)
env.AppendENVPath('PATH', r'C:\WINDOWS\system32')
@@ -97,7 +109,8 @@ env.AppendENVPath('PATH', r'C:\WINDOWS\system32')
# TODO(port):
if env.Bit('windows'):
packed = env.Command('$DESTINATION_ROOT/packed_files.txt',
- ['$CHROME_DIR/tools/build/win/create_installer_archive.py',
+ [('$CHROME_DIR/tools/'
+ + 'build/win/create_installer_archive.py'),
'$CHROME_DIR/installer/mini_installer/chrome.release'],
('$PYTHON ${SOURCES[0]}'
' --output_dir=${TARGET.dir}'
@@ -118,66 +131,102 @@ if env.Bit('windows'):
# TODO(sgk): implicit dependency should be picked up automatically
env_res.Depends(resources, exe_version_rc)
-env.ChromeMSVSProject('$CHROME_DIR/installer/mini_installer/mini_installer.vcproj',
- dependencies = [
- '$CHROME_DIR/app/locales/et.vcproj',
- '$CHROME_DIR/app/locales/pt-PT.vcproj',
- '$CHROME_DIR/app/locales/fr.vcproj',
- '$CHROME_DIR/app/locales/uk.vcproj',
- '$CHROME_DIR/installer/setup/setup.vcproj',
- '$CHROME_DIR/app/locales/th.vcproj',
- '$CHROME_DIR/app/locales/hi.vcproj',
- '$CHROME_DIR/app/locales/gu.vcproj',
- '$CHROME_DIR/app/locales/it.vcproj',
- '$CHROME_DIR/app/locales/pt-BR.vcproj',
- '$CHROME_DIR/app/locales/sr.vcproj',
- '$CHROME_DIR/app/locales/ko.vcproj',
- '$CHROME_DIR/app/locales/en-GB.vcproj',
- '$CHROME_DIR/app/locales/fil.vcproj',
- '$CHROME_DIR/app/locales/ar.vcproj',
- '$CHROME_DIR/app/locales/kn.vcproj',
- '$CHROME_DIR/app/locales/bn.vcproj',
- '$CHROME_DIR/app/locales/es.vcproj',
- '$CHROME_DIR/app/locales/bg.vcproj',
- '$CHROME_DIR/app/locales/nl.vcproj',
- '$CHROME_DIR/app/locales/fi.vcproj',
- '$CHROME_DIR/app/locales/tr.vcproj',
- '$CHROME_DIR/app/locales/ta.vcproj',
- '$CHROME_DIR/app/chrome_exe.vcproj',
- '$CHROME_DIR/app/locales/ru.vcproj',
- '$CHROME_DIR/app/locales/cs.vcproj',
- '$CHROME_DIR/app/locales/lt.vcproj',
- '$CHROME_DIR/app/locales/sk.vcproj',
- ('$CHROME_DIR/tools/crash_service/' +
- 'crash_service.vcproj'),
- '$CHROME_DIR/app/locales/te.vcproj',
- '$CHROME_DIR/app/locales/pl.vcproj',
- '$ICU38_DIR/build/icudt.vcproj',
- '$CHROME_DIR/app/locales/he.vcproj',
- '$CHROME_DIR/app/locales/mr.vcproj',
- '$CHROME_DIR/app/locales/da.vcproj',
- '$CHROME_DIR/app/locales/lv.vcproj',
- '$CHROME_DIR/app/locales/hu.vcproj',
- '$CHROME_DIR/app/locales/sv.vcproj',
- '$CHROME_DIR/app/locales/ja.vcproj',
- '$CHROME_DIR/app/locales/nb.vcproj',
- '$CHROME_DIR/app/locales/de.vcproj',
- '$RLZ_DIR/rlz.vcproj',
- '$CHROME_DIR/app/chrome_dll.vcproj',
- '$CHROME_DIR/app/locales/zh-CN.vcproj',
- '$CHROME_DIR/app/locales/sl.vcproj',
- '$CHROME_DIR/app/locales/ro.vcproj',
- '$CHROME_DIR/app/locales/ml.vcproj',
- '$CHROME_DIR/app/locales/en-US.vcproj',
- '$CHROME_DIR/app/locales/hr.vcproj',
- '$CHROME_DIR/app/locales/el.vcproj',
- '$CHROME_DIR/app/locales/vi.vcproj',
- '$CHROME_DIR/app/locales/or.vcproj',
- '$BSDIFF_DIR/bsdiff.vcproj',
- '$CHROME_DIR/app/locales/id.vcproj',
- '$CHROME_DIR/app/locales/zh-TW.vcproj',
- '$CHROME_DIR/app/locales/ca.vcproj',
- '$CHROME_DIR/app/locales/es-419.vcproj',
- '$CHROME_DIR/app/theme/theme_dll.vcproj',
- ],
- guid='{24A5AC7C-280B-4899-9153-6BA570A081E7}')
+p = env.ChromeMSVSProject('mini_installer.vcproj',
+ dest=('$CHROME_SRC_DIR/chrome/installer/'
+ + 'mini_installer/mini_installer.vcproj'),
+ guid='{24A5AC7C-280B-4899-9153-6BA570A081E7}',
+ keyword='Win32Proj',
+ dependencies = [
+ '$CHROME_DIR/app/locales/et.vcproj',
+ '$CHROME_DIR/app/locales/pt-PT.vcproj',
+ '$CHROME_DIR/app/locales/fr.vcproj',
+ '$CHROME_DIR/app/locales/uk.vcproj',
+ '$CHROME_DIR/installer/setup/setup.vcproj',
+ '$CHROME_DIR/app/locales/th.vcproj',
+ '$CHROME_DIR/app/locales/hi.vcproj',
+ '$CHROME_DIR/app/locales/gu.vcproj',
+ '$CHROME_DIR/app/locales/it.vcproj',
+ '$CHROME_DIR/app/locales/pt-BR.vcproj',
+ '$CHROME_DIR/app/locales/sr.vcproj',
+ '$CHROME_DIR/app/locales/ko.vcproj',
+ '$CHROME_DIR/app/locales/en-GB.vcproj',
+ '$CHROME_DIR/app/locales/fil.vcproj',
+ '$CHROME_DIR/app/locales/ar.vcproj',
+ '$CHROME_DIR/app/locales/kn.vcproj',
+ '$CHROME_DIR/app/locales/bn.vcproj',
+ '$CHROME_DIR/app/locales/es.vcproj',
+ '$CHROME_DIR/app/locales/bg.vcproj',
+ '$CHROME_DIR/app/locales/nl.vcproj',
+ '$CHROME_DIR/app/locales/fi.vcproj',
+ '$CHROME_DIR/app/locales/tr.vcproj',
+ '$CHROME_DIR/app/locales/ta.vcproj',
+ '$CHROME_DIR/app/chrome_exe.vcproj',
+ '$CHROME_DIR/app/locales/ru.vcproj',
+ '$CHROME_DIR/app/locales/cs.vcproj',
+ '$CHROME_DIR/app/locales/lt.vcproj',
+ '$CHROME_DIR/app/locales/sk.vcproj',
+ ('$CHROME_DIR/tools/crash_service/' +
+ 'crash_service.vcproj'),
+ '$CHROME_DIR/app/locales/te.vcproj',
+ '$CHROME_DIR/app/locales/pl.vcproj',
+ '$ICU38_DIR/build/icudt.vcproj',
+ '$CHROME_DIR/app/locales/he.vcproj',
+ '$CHROME_DIR/app/locales/mr.vcproj',
+ '$CHROME_DIR/app/locales/da.vcproj',
+ '$CHROME_DIR/app/locales/lv.vcproj',
+ '$CHROME_DIR/app/locales/hu.vcproj',
+ '$CHROME_DIR/app/locales/sv.vcproj',
+ '$CHROME_DIR/app/locales/ja.vcproj',
+ '$CHROME_DIR/app/locales/nb.vcproj',
+ '$CHROME_DIR/app/locales/de.vcproj',
+ '$RLZ_DIR/rlz.vcproj',
+ '$CHROME_DIR/app/chrome_dll.vcproj',
+ '$CHROME_DIR/app/locales/zh-CN.vcproj',
+ '$CHROME_DIR/app/locales/sl.vcproj',
+ '$CHROME_DIR/app/locales/ro.vcproj',
+ '$CHROME_DIR/app/locales/ml.vcproj',
+ '$CHROME_DIR/app/locales/en-US.vcproj',
+ '$CHROME_DIR/app/locales/hr.vcproj',
+ '$CHROME_DIR/app/locales/el.vcproj',
+ '$CHROME_DIR/app/locales/vi.vcproj',
+ '$CHROME_DIR/app/locales/or.vcproj',
+ '$BSDIFF_DIR/bsdiff.vcproj',
+ '$CHROME_DIR/app/locales/id.vcproj',
+ '$CHROME_DIR/app/locales/zh-TW.vcproj',
+ '$CHROME_DIR/app/locales/ca.vcproj',
+ '$CHROME_DIR/app/locales/es-419.vcproj',
+ '$CHROME_DIR/app/theme/theme_dll.vcproj',
+ ],
+ # TODO(sgk): when we can intuit the hierarchy
+ # from the built targets.
+ #buildtargets=TODO,
+ files=input_files,
+ relative_path_prefix='./',
+ tools=[
+ MSVSTool('create installer archive',
+ LastChromeInstaller='$(LAST_CHROME_INSTALLER)',
+ LastChromeVersion='$(LAST_CHROME_VERSION)',
+ SkipRebuildArchive='$(SKIP_REBUILD_CHROME_ARCHIVE)'
+ ),
+ 'Version',
+ 'VCCLCompilerTool',
+ 'VCResourceCompilerTool',
+ 'VCLinkerTool',
+ 'VCManifestTool',
+ ],
+ ConfigurationType='1')
+
+p.AddToolFile('$CHROME_DIR/tools/build/win/release.rules')
+p.AddToolFile('$CHROME_DIR/tools/build/win/version.rules')
+
+p.AddConfig('Debug|Win32',
+ InheritedPropertySheets=[
+ './mini_installer_debug.vsprops',
+ '$(SolutionDir)../testing/using_gtest.vsprops',
+ ])
+
+p.AddConfig('Release|Win32',
+ InheritedPropertySheets=[
+ './mini_installer_release.vsprops',
+ '$(SolutionDir)../testing/using_gtest.vsprops',
+ ])
diff --git a/chrome/installer/setup/setup.scons b/chrome/installer/setup/setup.scons
index aa500eb..260d0e6 100644
--- a/chrome/installer/setup/setup.scons
+++ b/chrome/installer/setup/setup.scons
@@ -72,35 +72,76 @@ if env.Bit('windows'):
],
)
-
-input_files = [
+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('resources', [
+ 'setup.ico',
+ 'setup.rc',
+ 'setup_exe_version.rc.version',
+ 'setup_resource.h',
+ ]),
'install.cc',
'main.cc',
'setup.cc',
+ 'setup.h',
'setup_constants.cc',
+ 'setup_constants.h',
'uninstall.cc',
-]
+ 'uninstall.h',
+])
# TODO(port):
if env.Bit('windows'):
- env.ChromeProgram('setup', resources + input_files)
-
-env.ChromeMSVSProject('$CHROME_DIR/installer/setup/setup.vcproj',
- dependencies = [
- '$BASE_DIR/build/base.vcproj',
- '$CHROME_DIR/common/common.vcproj',
- '$ICU38_DIR/build/icu.vcproj',
- '$LZMA_SDK_DIR/7z_C.vcproj',
- '$BSPATCH_DIR/bspatch.vcproj',
- '$CHROME_DIR/installer/util/util.vcproj',
- ],
- guid='{21C76E6E-8B38-44D6-8148-B589C13B9554}')
+ env.ChromeProgram('setup', resources + input_files[1:])
+
+p = env.ChromeMSVSProject('setup.vcproj',
+ dest=('$CHROME_SRC_DIR/chrome/'
+ + 'installer/setup/setup.vcproj'),
+ guid='{21C76E6E-8B38-44D6-8148-B589C13B9554}',
+ keyword='Win32Proj',
+ dependencies = [
+ '$BASE_DIR/build/base.vcproj',
+ '$CHROME_DIR/common/common.vcproj',
+ '$ICU38_DIR/build/icu.vcproj',
+ '$LZMA_SDK_DIR/7z_C.vcproj',
+ '$BSPATCH_DIR/bspatch.vcproj',
+ '$CHROME_DIR/installer/util/util.vcproj',
+ ],
+ # TODO(sgk): when we can intuit the hierarchy
+ # from the built targets.
+ #buildtargets=TODO,
+ files=input_files,
+ relative_path_prefix='./',
+ tools=[
+ 'Version',
+ 'VCCLCompilerTool',
+ 'VCResourceCompilerTool',
+ 'VCLinkerTool',
+ 'VCManifestTool',
+ ],
+ ConfigurationType='1')
+
+p.AddToolFile('$CHROME_DIR/tools/build/win/version.rules')
+
+p.AddConfig('Debug|Win32',
+ InheritedPropertySheets=[
+ './setup_debug.vsprops',
+ '$(SolutionDir)installer/util/using_util.vsprops',
+ ])
+
+p.AddConfig('Release|Win32',
+ InheritedPropertySheets=[
+ './setup_release.vsprops',
+ '$(SolutionDir)installer/util/using_util.vsprops',
+ ])
# TODO(port):
if env.Bit('windows'):
exe_version_rc = env.ChromeVersionRC('setup_exe_version.rc',
- 'setup_exe_version.rc.version',
- PWD = env.Dir('.'))
+ 'setup_exe_version.rc.version',
+ PWD = env.Dir('.'))
# TODO(sgk): implicit dependency should be picked up automatically
env_res.Depends(resources, exe_version_rc)
diff --git a/chrome/installer/util/installer_unittests.scons b/chrome/installer/util/installer_unittests.scons
index 1e9dd9a..f5e4b1f 100644
--- a/chrome/installer/util/installer_unittests.scons
+++ b/chrome/installer/util/installer_unittests.scons
@@ -51,20 +51,86 @@ if env.Bit('windows'):
],
)
-input_files = [
- '../setup/setup_constants$OBJSUFFIX',
+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('support', [
+ 'run_all_unittests.cc',
+ ]),
+ MSVSFilter('tests', [
'copy_tree_work_item_unittest.cc',
'create_dir_work_item_unittest.cc',
'create_reg_key_work_item_unittest.cc',
'delete_reg_value_work_item_unittest.cc',
'delete_tree_work_item_unittest.cc',
- 'google_chrome_distribution_unittest.cc',
'helper_unittest.cc',
- 'run_all_unittests.cc',
+ 'google_chrome_distribution_unittest.cc',
'set_reg_value_work_item_unittest.cc',
+ '../setup/setup_constants$OBJSUFFIX',
'work_item_list_unittest.cc',
-]
+ ]),
+])
+
# TODO(port):
if env.Bit('windows'):
env.ChromeTestProgram('installer_unittests', input_files)
+
+p = env.ChromeMSVSProject('installer_unittests.vcproj',
+ dest=('$CHROME_SRC_DIR/chrome/'
+ + 'installer/util/installer_unittests.vcproj'),
+ guid='{903F8C1E-537A-4C9E-97BE-075147CBE769}',
+ dependencies = [
+ '$BASE_DIR/build/base.vcproj',
+ '$CHROME_DIR/common/common.vcproj',
+ '$ICU38_DIR/build/icu.vcproj',
+ '$TESTING_DIR/gtest.vcproj',
+ '$CHROME_DIR/installer/util/util.vcproj',
+ ],
+ # TODO(sgk): when we can intuit the hierarchy
+ # from the built targets.
+ #buildtargets=TODO,
+ files=input_files,
+ tools=[
+ 'VCPreBuildEventTool',
+ 'VCCustomBuildTool',
+ 'VCXMLDataGeneratorTool',
+ 'VCWebServiceProxyGeneratorTool',
+ 'VCMIDLTool',
+ 'VCCLCompilerTool',
+ 'VCManagedResourceCompilerTool',
+ 'VCResourceCompilerTool',
+ 'VCPreLinkEventTool',
+ 'VCLinkerTool',
+ 'VCALinkTool',
+ MSVSTool('VCManifestTool',
+ AdditionalManifestFiles=(
+ '$(SolutionDir)installer/'
+ + 'mini_installer/'
+ + 'mini_installer.exe.manifest')),
+ 'VCXDCMakeTool',
+ 'VCBscMakeTool',
+ 'VCFxCopTool',
+ 'VCAppVerifierTool',
+ 'VCWebDeploymentTool',
+ 'VCPostBuildEventTool',
+ ],
+ ConfigurationType='1')
+
+
+p.AddConfig('Debug|Win32',
+ InheritedPropertySheets=[
+ '$(SolutionDir)../build/common.vsprops',
+ '$(SolutionDir)../build/debug.vsprops',
+ '$(SolutionDir)/tools/build/win/unit_test.vsprops',
+ '$(SolutionDir)../testing/using_gtest.vsprops',
+ ])
+
+p.AddConfig('Release|Win32',
+ InheritedPropertySheets=[
+ '$(SolutionDir)../build/common.vsprops',
+ '$(SolutionDir)../build/release.vsprops',
+ '$(SolutionDir)/tools/build/win/unit_test.vsprops',
+ '$(SolutionDir)../testing/using_gtest.vsprops',
+ ])
diff --git a/chrome/installer/util/util.scons b/chrome/installer/util/util.scons
index 6932f23..69e39d1 100644
--- a/chrome/installer/util/util.scons
+++ b/chrome/installer/util/util.scons
@@ -26,42 +26,115 @@ env.Prepend(
],
)
-input_files = [
+input_files = ChromeFileList([
'browser_distribution.cc',
+ 'browser_distribution.h',
'copy_tree_work_item.cc',
+ 'copy_tree_work_item.h',
'create_dir_work_item.cc',
+ 'create_dir_work_item.h',
'create_reg_key_work_item.cc',
+ 'create_reg_key_work_item.h',
'delete_reg_value_work_item.cc',
+ 'delete_reg_value_work_item.h',
'delete_tree_work_item.cc',
+ 'delete_tree_work_item.h',
'google_chrome_distribution.cc',
+ 'google_chrome_distribution.h',
'google_update_constants.cc',
+ 'google_update_constants.h',
'google_update_settings.cc',
+ 'google_update_settings.h',
'helper.cc',
+ 'helper.h',
+ 'html_dialog.h',
'html_dialog_impl.cc',
'install_util.cc',
+ 'install_util.h',
'l10n_string_util.cc',
+ 'l10n_string_util.h',
'logging_installer.cc',
+ 'logging_installer.h',
'lzma_util.cc',
+ 'lzma_util.h',
'master_preferences.cc',
+ 'master_preferences.h',
'set_reg_value_work_item.cc',
+ 'set_reg_value_work_item.h',
'shell_util.cc',
+ 'shell_util.h',
'util_constants.cc',
+ 'util_constants.h',
'version.cc',
+ 'version.h',
'work_item.cc',
+ 'work_item.h',
'work_item_list.cc',
-]
+ 'work_item_list.h',
+])
# TODO(port):
if env.Bit('windows'):
env.ChromeLibrary('util', input_files)
-env.ChromeMSVSProject('$CHROME_DIR/installer/util/util.vcproj',
- dependencies = [
- ('$CHROME_DIR/installer/util/prebuild/' +
- 'util_prebuild.vcproj'),
- ],
- guid='{EFBB1436-A63F-4CD8-9E99-B89226E782EC}')
+p = env.ChromeMSVSProject('util.vcproj',
+ dest=('$CHROME_SRC_DIR/chrome/'
+ + 'installer/util/util.vcproj'),
+ guid='{EFBB1436-A63F-4CD8-9E99-B89226E782EC}',
+ dependencies = [
+ ('$CHROME_DIR/installer/util/prebuild/' +
+ 'util_prebuild.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',
+ 'VCLibrarianTool',
+ 'VCALinkTool',
+ 'VCXDCMakeTool',
+ 'VCBscMakeTool',
+ 'VCFxCopTool',
+ 'VCPostBuildEventTool',
+ ],
+ ConfigurationType='4')
+
+
+p.AddConfig('Debug|Win32',
+ InheritedPropertySheets=[
+ '$(SolutionDir)../build/common.vsprops',
+ '$(SolutionDir)../build/debug.vsprops',
+ '$(SolutionDir)common/common.vsprops',
+ '$(SolutionDir)installer/util/using_util.vsprops',
+ '$(SolutionDir)../third_party/lzma_sdk/using_lzma_sdk.vsprops',
+ ])
+p.AddConfig('Release|Win32',
+ InheritedPropertySheets=[
+ '$(SolutionDir)../build/common.vsprops',
+ '$(SolutionDir)../build/release.vsprops',
+ '$(SolutionDir)common/common.vsprops',
+ '$(SolutionDir)installer/util/using_util.vsprops',
+ '$(SolutionDir)../third_party/lzma_sdk/using_lzma_sdk.vsprops',
+ ])
+
+
+##############################################################################
+
+input_files = ChromeFileList([
+ 'prebuild/create_string_rc.bat',
+ 'prebuild/create_string_rc.py',
+])
# TODO(port):
if env.Bit('windows'):
@@ -76,3 +149,43 @@ if env.Bit('windows'):
'$CHROME_DIR/app/generated_resources.grd'] +
env.Glob('$CHROME_DIR/app/resources/*.xtb'),
"$PYTHON ${SOURCES[0]} ${TARGET.dir}")
+
+p = env.ChromeMSVSProject('prebuild/util_prebuild.vcproj',
+ dest=('$CHROME_SRC_DIR/chrome/installer/'
+ + 'util/prebuild/util_prebuild.vcproj'),
+ guid='{0026A376-C4F1-4575-A1BA-578C69F07013}',
+ # TODO(sgk): when we can intuit the hierarchy
+ # from the built targets.
+ #buildtargets=TODO,
+ files=input_files,
+ relative_path_prefix='./',
+ tools=[
+ 'VCPreBuildEventTool',
+ MSVSTool('VCCustomBuildTool',
+ CommandLine=('create_string_rc.bat '
+ + '$(IntDir)'),
+ AdditionalDependencies=(
+ 'create_string_rc.py;'
+ + '$(SolutionDir)/app/'
+ + 'generated_resources.grd'),
+ Outputs=('$(IntDir)/'
+ + 'installer_util_strings.rc;'
+ + '$(IntDir)/'
+ + 'installer_util_strings.h')),
+ 'VCMIDLTool',
+ 'VCPostBuildEventTool',
+ ],
+ ConfigurationType='10')
+
+
+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',
+ ])