summaryrefslogtreecommitdiffstats
path: root/chrome/installer
diff options
context:
space:
mode:
authorsgk@google.com <sgk@google.com@0039d316-1c4b-4281-b951-d872f2087c98>2008-11-16 22:24:55 +0000
committersgk@google.com <sgk@google.com@0039d316-1c4b-4281-b951-d872f2087c98>2008-11-16 22:24:55 +0000
commite16027d6b660ac4c0d9b50e7dabbf03d7cf1ba5f (patch)
treeb265b4cef18b6e708dcf36015c1afb8220aea648 /chrome/installer
parent4ed077a820dca166e3e2bf9785311331df0190b0 (diff)
downloadchromium_src-e16027d6b660ac4c0d9b50e7dabbf03d7cf1ba5f.zip
chromium_src-e16027d6b660ac4c0d9b50e7dabbf03d7cf1ba5f.tar.gz
chromium_src-e16027d6b660ac4c0d9b50e7dabbf03d7cf1ba5f.tar.bz2
Fix accumulated webkit merge ramifications in the SCons build of Chrome
(plus various renaming ripple effects masked by merge build errors): * Move invocation of recently-created *.scons files from chrome\SConscript into chrome\chrome.scons. * Move the ChromeVersionRC() Builder up into chrome\chrome.scons so it's available in all the newer *.scons files (specifically installer\mini_installer\mini_installer.scons and installer\setup\setup.scons). * Build chrome.dll in a chrome_dll subdirectory, and chrome.exe in a chrome_exe subdirectory, to avoid the name conflict when both try to create a chrome.lib library as part of linking. Re-name them to chrome.{dll,lib,exe} on installation into $DESTINATION_ROOT. * Install underneath Hammer\ ($DESTINATION_ROOT) copies of: themes\default.dll * Portability: link against 'chrome' and 'common' from the LIBS variable, not by explicitly listing 'chrome.lib' and 'common.lib'. * Link interactive_ui_tests.exe links against sdch, not google_update, and add CPPPATH directories for included resource files. * Install a number of necessary ancillary files in explicitly in $DESTINATION_ROOT, not $TARGET_ROOT: chrome.dll, icudt38.dll, rlz.dll, "First Run", themes\*, locales\, Dictionaries. * Add a 'chrome_locales' Alias for the locale .dll files installed into the locales\ subdirectory, and use Requires() to make sure they're installed for chrome.exe regardless of what target is used. * Add a 'chrome_Dictionaries' Alias for the hunspell dictionaries into the Dictionaries\ subdirectory, and use Requires() to make sure they're installed for chrome.exe regardless of what target is used. * Clone() the automated_ui_tests.scons construction environment so its settings don't pollute builds of other targets. * Add explicit dependencies on various generated .rc files (with TODO(sgk) to figure out why they're not picked up by the implicit dependency scan). Review URL: http://codereview.chromium.org/10976 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@5549 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/installer')
-rw-r--r--chrome/installer/mini_installer/mini_installer.scons24
-rw-r--r--chrome/installer/setup/setup.scons21
2 files changed, 30 insertions, 15 deletions
diff --git a/chrome/installer/mini_installer/mini_installer.scons b/chrome/installer/mini_installer/mini_installer.scons
index a6b5dc4..f9d0dd2 100644
--- a/chrome/installer/mini_installer/mini_installer.scons
+++ b/chrome/installer/mini_installer/mini_installer.scons
@@ -2,7 +2,7 @@
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
-Import('env', 'env_res')
+Import('env')
env = env.Clone()
@@ -17,11 +17,11 @@ env.ApplySConscript([
# obviously windows-specific things
if env['PLATFORM'] == 'win32':
- env_res = env_res.Clone()
+ env_res = env.Clone()
env_res.Append(
CPPPATH = [
- "$TARGET_ROOT",
+ "$DESTINATION_ROOT",
".",
"$CHROME_SRC_DIR",
],
@@ -92,15 +92,23 @@ env.ChromeProgram('mini_installer', input_files)
env.AppendENVPath('PATH', r'C:\WINDOWS\system32')
-packed = env.Command('$TARGET_ROOT/packed_files.txt',
+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, '$TARGET_ROOT/setup.exe')
+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)
-env.ChromeVersionRC('mini_installer_exe_version.rc',
- 'mini_installer_exe_version.rc.version',
- PWD=Dir('.'))
+
+exe_version_rc = env.ChromeVersionRC('mini_installer_exe_version.rc',
+ 'mini_installer_exe_version.rc.version',
+ PWD=Dir('.'))
+
+if env['PLATFORM'] == 'win32':
+ # TODO(sgk): implicit dependency should be picked up automatically
+ env_res.Depends(resources, exe_version_rc)
diff --git a/chrome/installer/setup/setup.scons b/chrome/installer/setup/setup.scons
index 5ea69e5..1a73359 100644
--- a/chrome/installer/setup/setup.scons
+++ b/chrome/installer/setup/setup.scons
@@ -2,7 +2,7 @@
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
-Import('env', 'env_res')
+Import('env')
env = env.Clone()
@@ -14,13 +14,13 @@ env.ApplySConscript([
])
if env['PLATFORM'] == 'win32':
- env_res = env_res.Clone()
+ env_res = env.Clone()
env_res.Append(
CPPPATH = [
- "$TARGET_ROOT",
".",
"$CHROME_SRC_DIR",
+ "$CHROME_DIR/installer/util",
],
RCFLAGS = [
["/l", "0x409"],
@@ -29,11 +29,14 @@ if env['PLATFORM'] == 'win32':
resources = env_res.RES('setup.rc')
+ # TODO(sgk): implicit dependency should be picked up automatically
+ env_res.Depends(resources,
+ '$CHROME_DIR/installer/util/installer_util_strings.rc')
+
env.Prepend(
CPPPATH = [
'../util',
- '$TARGET_ROOT',
'.',
'$CHROME_SRC_DIR',
],
@@ -80,6 +83,10 @@ input_files = [
env.ChromeProgram('setup', resources + input_files)
-env.ChromeVersionRC('setup_exe_version.rc',
- 'setup_exe_version.rc.version',
- PWD = env.Dir('.'))
+exe_version_rc = env.ChromeVersionRC('setup_exe_version.rc',
+ 'setup_exe_version.rc.version',
+ PWD = env.Dir('.'))
+
+if env['PLATFORM'] == 'win32':
+ # TODO(sgk): implicit dependency should be picked up automatically
+ env_res.Depends(resources, exe_version_rc)