summaryrefslogtreecommitdiffstats
path: root/chrome/installer
diff options
context:
space:
mode:
authorsgk@google.com <sgk@google.com@0039d316-1c4b-4281-b951-d872f2087c98>2008-12-19 08:10:30 +0000
committersgk@google.com <sgk@google.com@0039d316-1c4b-4281-b951-d872f2087c98>2008-12-19 08:10:30 +0000
commit9e483ab325445c4070e2ea86e1b57beb652c2590 (patch)
tree0a1bd25386b08e314cd398091cff336f9a6bf7d6 /chrome/installer
parentad04a7013db13a4402160e8596ab2f7e4f19fb0d (diff)
downloadchromium_src-9e483ab325445c4070e2ea86e1b57beb652c2590.zip
chromium_src-9e483ab325445c4070e2ea86e1b57beb652c2590.tar.gz
chromium_src-9e483ab325445c4070e2ea86e1b57beb652c2590.tar.bz2
Initial generation of native Visual Studio solution files
(project files still to come). To wit: * Solution file configuration is in *_sln.scons files (base\base_sln.scons, chrome\chrome_sln.scons). * Individual Project file configuration is in the the .scons file for the relevant target (base\base_unittests.scons, third_party\libxml\libxml.scons, etc.)--that is, where their file lists will live. * MSVSProject() calls are currently placeholders that establish the existence of Project Nodes (and Project dependencies) but don't yet have actual Project configuration information (file lists, .vsprops, etc.). * Configuraiton is very manual. In particular, the entries in the .sln file will be written out in exactly the order specified in the configuration(s). The current ordering is taken from our existing .sln files, so we can generate virtually the same configurations on output. * Generated solution files are nearly byte-for-byte identical with our existing .sln files, modulo: * net\dump_cache has a WebsiteProperties sections (making that configurable per project isn't important right now); * sandbox\sandbox.sln was missing a dependency of base.vcproj on on debug_message.vcproj (present in other .sln files) * webkit\webkit.sln was missing dependencies of WebCore.vcproj on libxml_config.vcproj and libxslt_config.vcproj (present in chrome.sln); * add a handful of other miscellaneous missing dependencies on various .vcproj definitions in chrome.sln (present in other .sln files). * remove stats_viewer.csproj from chrome.sln (sorry, mbelshe), which was complicating the solution configuration with unnecessary (for us) "Mixed Platform" types; * All MSVSFolder(), MSVSProject() and MSVSSolution() calls have hard-wired guid= values taken from our existing configuration, so we can: 1) verify generation of working configs; 2) minimize diffs when checking in generated .sln files. We can remove these in the future in favor of extracting them from existing .sln files if we wish. * Add ChromeMSVSFolder(), ChromeMSVSProject() and ChromeMSVSSolution() wrappers to chromium_builders.py, that gate the underlying call to the env.MSVS*() builders based on whether env.Bit('msvs') is set (i.e., we're in --mode=msvs). * Remove platform-specific gating of to-be-ported .scons files that we now need to load on any platform to generate coheren MSVS files. Move the env.Bit('windows') tests for actually building their executables into the individual .scons files. Review URL: http://codereview.chromium.org/14472 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@7297 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/installer')
-rw-r--r--chrome/installer/mini_installer/installer_unittests.scons4
-rw-r--r--chrome/installer/mini_installer/mini_installer.scons101
-rw-r--r--chrome/installer/setup/setup.scons22
-rw-r--r--chrome/installer/util/util.scons35
4 files changed, 129 insertions, 33 deletions
diff --git a/chrome/installer/mini_installer/installer_unittests.scons b/chrome/installer/mini_installer/installer_unittests.scons
index 9dd31f2..288cda2 100644
--- a/chrome/installer/mini_installer/installer_unittests.scons
+++ b/chrome/installer/mini_installer/installer_unittests.scons
@@ -65,4 +65,6 @@ input_files = [
'../util/work_item_list_unittest.cc',
]
-env.ChromeTestProgram('installer_unittests', input_files)
+# TODO(port):
+if env.Bit('windows'):
+ env.ChromeTestProgram('installer_unittests', input_files)
diff --git a/chrome/installer/mini_installer/mini_installer.scons b/chrome/installer/mini_installer/mini_installer.scons
index 89c0d62..0fefbe1 100644
--- a/chrome/installer/mini_installer/mini_installer.scons
+++ b/chrome/installer/mini_installer/mini_installer.scons
@@ -87,28 +87,97 @@ if env.Bit('windows'):
])
input_files.extend(resources)
-env.ChromeProgram('mini_installer', input_files)
+# TODO(port):
+if env.Bit('windows'):
+ env.ChromeProgram('mini_installer', input_files)
env.AppendENVPath('PATH', r'C:\WINDOWS\system32')
-packed = env.Command('$DESTINATION_ROOT/packed_files.txt',
- ['$CHROME_DIR/tools/build/win/create_installer_archive.py',
- '$CHROME_DIR/installer/mini_installer/chrome.release'],
- ('$PYTHON ${SOURCES[0]}'
- ' --output_dir=${TARGET.dir}'
- ' --input_file=${SOURCES[1]}'))
-env.Depends(packed, '$DESTINATION_ROOT/setup.exe')
-
-# mini_installer.rc depends on the generated packed_files.txt
-# TODO(sgk): implicit dependency should be picked up automatically
-env.Depends(resources, packed)
-
+# 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/installer/mini_installer/chrome.release'],
+ ('$PYTHON ${SOURCES[0]}'
+ ' --output_dir=${TARGET.dir}'
+ ' --input_file=${SOURCES[1]}'))
+ env.Depends(packed, '$DESTINATION_ROOT/setup.exe')
+
+ # mini_installer.rc depends on the generated packed_files.txt
+ # TODO(sgk): implicit dependency should be picked up automatically
+ env.Depends(resources, packed)
-exe_version_rc = env.ChromeVersionRC('mini_installer_exe_version.rc',
- 'mini_installer_exe_version.rc.version',
- PWD=Dir('.'))
+# TODO(port):
if env.Bit('windows'):
+ exe_version_rc = env.ChromeVersionRC('mini_installer_exe_version.rc',
+ 'mini_installer_exe_version.rc.version',
+ PWD=Dir('.'))
+
# 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}')
diff --git a/chrome/installer/setup/setup.scons b/chrome/installer/setup/setup.scons
index b0ef23b..aa500eb 100644
--- a/chrome/installer/setup/setup.scons
+++ b/chrome/installer/setup/setup.scons
@@ -81,12 +81,26 @@ input_files = [
'uninstall.cc',
]
-env.ChromeProgram('setup', resources + input_files)
-
-exe_version_rc = env.ChromeVersionRC('setup_exe_version.rc',
+# 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}')
+
+# TODO(port):
+if env.Bit('windows'):
+ exe_version_rc = env.ChromeVersionRC('setup_exe_version.rc',
'setup_exe_version.rc.version',
PWD = env.Dir('.'))
-if env.Bit('windows'):
# TODO(sgk): implicit dependency should be picked up automatically
env_res.Depends(resources, exe_version_rc)
diff --git a/chrome/installer/util/util.scons b/chrome/installer/util/util.scons
index e1e4957..5d43185 100644
--- a/chrome/installer/util/util.scons
+++ b/chrome/installer/util/util.scons
@@ -50,17 +50,28 @@ input_files = [
'work_item_list.cc',
]
-env.ChromeStaticLibrary('util', input_files)
+# TODO(port):
+if env.Bit('windows'):
+ env.ChromeStaticLibrary('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}')
-# create_string_rc.py imports FP.py from the tools/grit/grit/extern
-# directory, so add that to PYTHONPATH for this command execution.
-env_x = env.Clone()
-env_x.AppendENVPath('PYTHONPATH',
- [env_x.Dir('$CHROME_SRC_DIR/tools/grit/grit/extern').abspath])
-env_x.Command(['$CHROME_DIR/installer/util/installer_util_strings.rc',
- '$CHROME_DIR/installer/util/installer_util_strings.h'],
- ['$CHROME_DIR/installer/util/prebuild/create_string_rc.py',
- '$CHROME_DIR/app/generated_resources.grd'] +
- env.Glob('$CHROME_DIR/app/resources/*.xtb'),
- "$PYTHON ${SOURCES[0]} ${TARGET.dir}")
+
+# TODO(port):
+if env.Bit('windows'):
+ # create_string_rc.py imports FP.py from the tools/grit/grit/extern
+ # directory, so add that to PYTHONPATH for this command execution.
+ env_x = env.Clone()
+ env_x.AppendENVPath('PYTHONPATH',
+ [env_x.Dir('$CHROME_SRC_DIR/tools/grit/grit/extern').abspath])
+ env_x.Command(['$CHROME_DIR/installer/util/installer_util_strings.rc',
+ '$CHROME_DIR/installer/util/installer_util_strings.h'],
+ ['$CHROME_DIR/installer/util/prebuild/create_string_rc.py',
+ '$CHROME_DIR/app/generated_resources.grd'] +
+ env.Glob('$CHROME_DIR/app/resources/*.xtb'),
+ "$PYTHON ${SOURCES[0]} ${TARGET.dir}")