diff options
author | sgk@google.com <sgk@google.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2008-11-16 22:24:55 +0000 |
---|---|---|
committer | sgk@google.com <sgk@google.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2008-11-16 22:24:55 +0000 |
commit | e16027d6b660ac4c0d9b50e7dabbf03d7cf1ba5f (patch) | |
tree | b265b4cef18b6e708dcf36015c1afb8220aea648 /chrome/installer | |
parent | 4ed077a820dca166e3e2bf9785311331df0190b0 (diff) | |
download | chromium_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.scons | 24 | ||||
-rw-r--r-- | chrome/installer/setup/setup.scons | 21 |
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) |