diff options
Diffstat (limited to 'chrome/installer')
-rw-r--r-- | chrome/installer/mini_installer/mini_installer.scons | 193 | ||||
-rw-r--r-- | chrome/installer/setup/setup.scons | 75 | ||||
-rw-r--r-- | chrome/installer/util/installer_unittests.scons | 76 | ||||
-rw-r--r-- | chrome/installer/util/util.scons | 129 |
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', + ]) |