summaryrefslogtreecommitdiffstats
path: root/chrome/chrome.scons
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/chrome.scons
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/chrome.scons')
-rw-r--r--chrome/chrome.scons61
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)