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/chrome.scons | |
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/chrome.scons')
-rw-r--r-- | chrome/chrome.scons | 61 |
1 files changed, 61 insertions, 0 deletions
diff --git a/chrome/chrome.scons b/chrome/chrome.scons index 57ff9aa..5a8b4ab 100644 --- a/chrome/chrome.scons +++ b/chrome/chrome.scons @@ -14,6 +14,30 @@ env.Append( COMPONENT_TEST_PROGRAM_GROUPS = ['chrome'], ) + +# TODO(sgk): move the ChromeVersionRC builder into a Tool module +def chrome_version_emitter(target, source, env): + source.append(env.File('$CHROME_SRC_DIR/chrome/VERSION')) + # TODO(sgk): parameterize for chromium-vs.-google_chrome + source.append(env.File('$CHROME_SRC_DIR/chrome/app/theme/google_chrome/BRANDING')) + return target, source + +b = Builder(action = '$CHROME_VERSION_RC_COM', + emitter = chrome_version_emitter) + +env['BUILDERS']['ChromeVersionRC'] = b + +env.Replace( + # NOTE: the / after $CHROME_SRC_DIR/chrome/ is required because + # version.bat assumes a path with a trailing slash. + CHROME_VERSION_RC_COM = + '$VERSION_BAT $SOURCE $CHROME_SRC_DIR/chrome/ $PWD $TARGET', + VERSION_BAT = env.File( + '$CHROME_SRC_DIR/chrome/tools/build/win/version.bat'), + PWD = Dir('.'), +) + + sconscript_files = [ 'SConscript', @@ -21,20 +45,57 @@ sconscript_files = [ 'browser/debugger/debugger.scons', 'common/common.scons', 'common/ipc_tests.scons', + 'installer/mini_installer/installer_unittests.scons', + 'installer/mini_installer/mini_installer.scons', + 'installer/setup/setup.scons', + 'installer/util/util.scons', 'plugin/plugin.scons', 'renderer/renderer.scons', + 'test/activex_test_control/activex_test_control.scons', 'test/automated_ui_tests/automated_ui_tests.scons', + 'test/automation/automation.scons', + 'test/chrome_plugin/test_chrome_plugin.scons', 'test/interactive_ui/interactive_ui_tests.scons', + 'test/memory_test/memory_test.scons', + 'test/mini_installer_test/mini_installer_test.scons', + 'test/page_cycler/page_cycler_tests.scons', + 'test/plugin/plugin_tests.scons', + 'test/reliability/reliability_tests.scons', + 'test/security_tests/security_tests.scons', + 'test/selenium/selenium_tests.scons', + 'test/startup/startup_tests.scons', + 'test/tab_switching/tab_switching_test.scons', 'test/ui/ui_tests.scons', 'test/unit/unit_tests.scons', + 'tools/crash_service/crash_service.scons', + 'tools/perf/flush_cache/flush_cache.scons', + 'tools/test/image_diff/image_diff.scons', ] +# TODO(port) if env['PLATFORM'] != 'win32': remove_files = [ 'browser/debugger/debugger.scons', + 'installer/mini_installer/installer_unittests.scons', + 'installer/mini_installer/mini_installer.scons', + 'installer/setup/setup.scons', + 'installer/util/util.scons', + 'test/activex_test_control/activex_test_control.scons', 'test/automated_ui_tests/automated_ui_tests.scons', + 'test/automation/automation.scons', 'test/interactive_ui/interactive_ui_tests.scons', + 'test/memory_test/memory_test.scons', + 'test/mini_installer_test/mini_installer_test.scons', + 'test/page_cycler/page_cycler_tests.scons', + 'test/plugin/plugin_tests.scons', + 'test/reliability/reliability_tests.scons', + 'test/security_tests/security_tests.scons', + 'test/selenium/selenium_tests.scons', + 'test/startup/startup_tests.scons', + 'test/tab_switching/tab_switching_test.scons', 'test/ui/ui_tests.scons', + 'tools/crash_service/crash_service.scons', + 'tools/perf/flush_cache/flush_cache.scons', ] for remove in remove_files: sconscript_files.remove(remove) |