summaryrefslogtreecommitdiffstats
path: root/chrome/app
diff options
context:
space:
mode:
authorsgk@google.com <sgk@google.com@0039d316-1c4b-4281-b951-d872f2087c98>2009-01-17 02:25:22 +0000
committersgk@google.com <sgk@google.com@0039d316-1c4b-4281-b951-d872f2087c98>2009-01-17 02:25:22 +0000
commitcaeb7a0ca33ec99cd3dc68e95ca23ca4aa7e8068 (patch)
tree26d23c79d97efa44f69d1b447ae4618bf34fc609 /chrome/app
parent75ddd63be217e7fed76f90578a8918ab75b3ead8 (diff)
downloadchromium_src-caeb7a0ca33ec99cd3dc68e95ca23ca4aa7e8068.zip
chromium_src-caeb7a0ca33ec99cd3dc68e95ca23ca4aa7e8068.tar.gz
chromium_src-caeb7a0ca33ec99cd3dc68e95ca23ca4aa7e8068.tar.bz2
Generate all chrome .vcproj files:
* Path name translation (/ to \) of various MSVSTool attributes. * Explicit keyword= arguments to MSVSProject. This will likely go away eventually in favor of uniform behavior. * Add a relative_path_substitutions array that can be used to substitute in Visual Studio variable like $(OutDir). * Add a local_directory_prefix that can be set to './' to only affect files in the current directory. * Additional Keyword ordering in Tool attributes to continue to match the default order Visual Studio generates. * Add a Derived() proxy class that can wrap a File node to tell the .vcproj generation that we want the derived file, not its source(s), in the file list. * In the individual *.scons files, add the necessary files (mostly .h files) to file lists, and update MSVSProject() calls with the additional necessary information. Result is identical .vcproj files modulo the following differences: * Four locales .vcproj files (da, en-US, he and zh-TW) with source file orders that don't match the other locale .vcproj files have re-ordered file lists to match the rest. * Cosmetic XML changes (white space, ending tags) in: chrome/app/chrome_dll.vcproj chrome/app/generated_resources.vcproj net/build/net_resources.vcproj * Removal or addition of ./ prefixes from various files that don't match the other file specifications within their individual .vcproj files: chrome/installer/util/util.vcproj net/build/net.vcproj net/build/net_unittests.vcproj * Add missing empty sections (<ToolFiles>, <References>, <Globals>) for consistency with other .vcproj files: chrome/tools/test/image_diff/image_diff.vcproj third_party/libpng/libpng.vcproj third_party/zlib/zlib.vcproj * Add missing RootNameSpace attribute: chrome/test/automation/automation.vcproj testing/gtest.vcproj * Use && instead of \r\n as a command separator, to sidestep XML-generation problems: chrome/app/chrome_exe.vcproj * Remove unnecessary (?) duplicate files in the file list: chrome/browser/views/browser_views.vcproj (event_utils.cc and event_utils.h were duplicated) Review URL: http://codereview.chromium.org/17603 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@8253 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/app')
-rw-r--r--chrome/app/locales/locales.scons3
-rw-r--r--chrome/app/resources/SConscript113
-rw-r--r--chrome/app/theme/SConscript61
3 files changed, 166 insertions, 11 deletions
diff --git a/chrome/app/locales/locales.scons b/chrome/app/locales/locales.scons
index d36d05c..0ce5df3c 100644
--- a/chrome/app/locales/locales.scons
+++ b/chrome/app/locales/locales.scons
@@ -14,7 +14,8 @@ def ChromiumLocaleProject(name, guid):
'$WEBKIT_DIR/build/localized_strings/localized_strings.vcproj',
'$CHROME_DIR/app/generated_resources.vcproj',
],
- guid=guid)
+ guid=guid,
+ keyword='Win32Proj')
ChromiumLocaleProject('$CHROME_DIR/app/locales/ar.vcproj',
guid='{3AB90E6A-56FF-4C9D-B918-AB76DDBF8BE8}')
diff --git a/chrome/app/resources/SConscript b/chrome/app/resources/SConscript
index 6b23b9c..c3f1391 100644
--- a/chrome/app/resources/SConscript
+++ b/chrome/app/resources/SConscript
@@ -96,11 +96,68 @@ locale_list = [
'zh-TW',
]
+# TODO(sgk): remove these when we no longer want to worry about
+# consistent GUIDs in the .vcproj files from checkin to checkin.
+locale_GUIDMap = {
+ 'ar' : '{3AB90E6A-56FF-4C9D-B918-AB76DDBF8BE8}',
+ 'bg' : '{5BDB7EE1-A1FD-410C-9598-21519A1B7952}',
+ 'bn' : '{4B60E8B8-416F-40B2-8A54-F75970A21992}',
+ 'ca' : '{F7790A54-4078-4E4A-8231-818BE9FB1F94}',
+ 'cs' : '{7EA8C4AB-F9C6-4FA1-8B0A-74F5650430B2}',
+ 'da' : '{A493331B-3180-49FE-8D0E-D121645E63AD}',
+ 'de' : '{BA62FF5E-08A6-4102-9675-C12E8C9D4CC0}',
+ 'el' : '{D314F1B3-9299-4866-8362-08BF811B0FA3}',
+ 'en-GB' : '{34231B28-C51C-4C1C-AF07-C763668B1404}',
+ 'en-US' : '{CAE2D1E6-3F19-492F-A35C-68AA7ACAD6D3}',
+ 'es-419' : '{FA660037-EB40-4A43-AA9D-9653C57F2789}',
+ 'es' : '{5AEA4BF6-27CD-47FC-9370-D87771CFA196}',
+ 'et' : '{0557BC3C-DE87-4127-BDAA-9BD9BDB13FB4}',
+ 'fi' : '{64D81334-DE73-457D-8FC1-9492508A2663}',
+ 'fil' : '{3A932C39-AFA9-4BDC-B775-F71A426D04BF}',
+ 'fr' : '{0D54A5C4-B78B-41A2-BF8A-5DA48AC90495}',
+ 'gu' : '{256DECCE-9886-4C21-96A5-EE47DF5E07E9}',
+ 'he' : '{A28310B8-7BD0-4CDF-A7D8-59CAB42AA1C4}',
+ 'hi' : '{228DD844-9926-420E-B193-6973BF2A4D0B}',
+ 'hr' : '{CE1426F6-7D2B-4574-9929-58387BF7B05F}',
+ 'hu' : '{AFF332BF-AF3D-4D35-86FC-42A727F01D36}',
+ 'id' : '{E3DF045F-2174-4685-9CF7-0630A79F324B}',
+ 'it' : '{275F2993-EE9B-4E00-9C85-10A182FD423A}',
+ 'ja' : '{B2D715CE-4CBB-415A-A032-E700C90ADF91}',
+ 'kn' : '{3E6B24F6-9FA9-4066-859E-BF747FA3080A}',
+ 'ko' : '{32167995-4014-4E4C-983B-F7E17C24EB25}',
+ 'lt' : '{80E37CB5-059D-4F4B-AEF6-08265468D368}',
+ 'lv' : '{A5C5D801-4026-49F2-BBF1-250941855306}',
+ 'ml' : '{CAB69303-0F02-4C68-A12E-FFE55DB52526}',
+ 'mr' : '{A464166F-8507-49B4-9B02-5CB77C498B25}',
+ 'nb' : '{B30B0E1F-1CE9-4DEF-A752-7498FD709C1F}',
+ 'nl' : '{63011A7B-CE4D-4DF1-B5DA-1B133C14A2E8}',
+ 'or' : '{E07D267C-34C3-4DDB-8B41-94697808714A}',
+ 'pl' : '{9F53807E-9382-47BD-8371-E5D04F517E9C}',
+ 'pt-BR' : '{2F914112-2657-49EC-8EA6-3BA63340DE27}',
+ 'pt-PT' : '{0A13F602-B497-4BC1-ABD8-03CA8E95B2AF}',
+ 'ro' : '{C70D3509-57C4-4326-90C1-2EC0AE34848D}',
+ 'ru' : '{7D456640-3619-4D23-A56D-E0084400CCBF}',
+ 'sk' : '{82F5BFE5-FDCE-47D4-8B38-BEEBED561681}',
+ 'sl' : '{C2A444C2-9D74-4AD7-AE7C-04F5EDA17060}',
+ 'sr' : '{300C6A09-663E-48B6-8E07-A0D50CAF8F25}',
+ 'sv' : '{B0D5BD91-6153-4CA6-BC2F-4E3BD43E5DB7}',
+ 'ta' : '{7A0BA0C5-0D90-49AE-919A-4BE096F69E4F}',
+ 'te' : '{9D13D9B8-6C28-42A7-935C-B769EBC55BAA}',
+ 'th' : '{226B3533-1FF3-42F6-A8E3-C4DDBC955290}',
+ 'tr' : '{65C78BBB-8FCB-48E4-94C8-1F0F981929AF}',
+ 'uk' : '{182D578D-2DAC-4BB7-AFEC-9A2855E56F94}',
+ 'vi' : '{DA5C6FCB-FCFD-49B8-8DDA-8351638096DB}',
+ 'zh-CN' : '{C0C7DA58-C90D-4BDE-AE44-588997339F5D}',
+ 'zh-TW' : '{E7B11CF0-FE40-4A69-AE20-1B882F4D7585}',
+}
+
gcs_rc = '$TARGET_ROOT/grit_derived_sources/google_chrome_strings_%s.rc'
cs_rc = '$TARGET_ROOT/grit_derived_sources/chromium_strings_%s.rc'
gr_res = '$TARGET_ROOT/grit_derived_sources/generated_resources_%s.res'
ws_res = '$TARGET_ROOT/grit_derived_sources/webkit_strings_%s.res'
+dest_vcproj = '$CHROME_SRC_DIR/chrome/app/locales/%s.vcproj'
+
locale_dlls = []
for locale in locale_list:
@@ -112,9 +169,61 @@ for locale in locale_list:
dll = env_dll.ChromeSharedLibrary(locale,
[ gr_res % locale,
- ws_res % locale,
- res ])
+ res,
+ ws_res % locale])
locale_dlls.append(dll)
+ p = env.ChromeMSVSProject('../locales/%s.vcproj' % locale,
+ dest=dest_vcproj % locale,
+ guid=locale_GUIDMap.get(locale),
+ buildtargets=dll,
+ relative_path_substitutions = [
+ ('../../../..', '$(OutDir)'),
+ ],
+ tools=[
+ 'VCPreBuildEventTool',
+ 'VCCustomBuildTool',
+ 'VCXMLDataGeneratorTool',
+ 'VCWebServiceProxyGeneratorTool',
+ 'VCMIDLTool',
+ 'VCCLCompilerTool',
+ 'VCManagedResourceCompilerTool',
+ 'VCResourceCompilerTool',
+ 'VCPreLinkEventTool',
+ 'VCLinkerTool',
+ 'VCALinkTool',
+ 'VCManifestTool',
+ 'VCXDCMakeTool',
+ 'VCBscMakeTool',
+ 'VCFxCopTool',
+ 'VCAppVerifierTool',
+ 'VCWebDeploymentTool',
+ 'VCPostBuildEventTool',
+ ],
+ ConfigurationType='2')
+
+ if locale == 'en-US':
+ kw = {'CharacterSet' : '1'}
+ else:
+ kw = {}
+
+ p.AddConfig('Debug|Win32',
+ InheritedPropertySheets=[
+ '$(SolutionDir)../build/common.vsprops',
+ '$(SolutionDir)../build/debug.vsprops',
+ '../../tools/build/win/data_dll.vsprops',
+ '../../tools/build/win/language_dll.vsprops',
+ ],
+ **kw)
+
+ p.AddConfig('Release|Win32',
+ InheritedPropertySheets=[
+ '$(SolutionDir)../build/common.vsprops',
+ '$(SolutionDir)../build/release.vsprops',
+ '../../tools/build/win/data_dll.vsprops',
+ '../../tools/build/win/language_dll.vsprops',
+ ],
+ **kw)
+
i = env.Install('$DESTINATION_ROOT/locales/', locale_dlls)
env.Alias('chrome_locales', i)
diff --git a/chrome/app/theme/SConscript b/chrome/app/theme/SConscript
index 30857ed..a70a944 100644
--- a/chrome/app/theme/SConscript
+++ b/chrome/app/theme/SConscript
@@ -17,12 +17,6 @@ env_res.Append(
],
)
-res = [
- env_res.RES('theme_resources.rc'),
- env_res.RES('distribution_resources.rc'),
-]
-
-
env.Append(
LINKFLAGS = [
@@ -42,8 +36,59 @@ env.Append(
],
)
+input_files = ChromeFileList([
+ 'theme_resources.h',
+ 'theme_resources.rc',
+ 'distribution_resources.rc',
+])
+
+res = []
+res.extend(env_res.RES('theme_resources.rc'))
+res.extend(env_res.RES('distribution_resources.rc'))
+
themes_default = env.ChromeSharedLibrary("default", res)
env.Install("$DESTINATION_ROOT/themes", themes_default)
-# TODO(bradnelson): figure out why this was needed
-#env.AddPostAction(themes_default[1], Touch(themes_default[1:]))
+p = env.ChromeMSVSProject('theme_dll.vcproj',
+ dest=('$CHROME_SRC_DIR/chrome/'
+ + 'app/theme/theme_dll.vcproj'),
+ guid='{FD683DD6-D9BF-4B1B-AB6D-A3AC03EDAA4D}',
+ keyword='Win32Proj',
+ # TODO(sgk): when we can intuit the hierarchy
+ # from the built targets.
+ #buildtargets=TODO,
+ files=input_files,
+ tools=[
+ 'VCPreBuildEventTool',
+ 'VCCustomBuildTool',
+ 'VCXMLDataGeneratorTool',
+ 'VCWebServiceProxyGeneratorTool',
+ 'VCMIDLTool',
+ 'VCCLCompilerTool',
+ 'VCManagedResourceCompilerTool',
+ 'VCResourceCompilerTool',
+ 'VCPreLinkEventTool',
+ 'VCLinkerTool',
+ 'VCALinkTool',
+ 'VCManifestTool',
+ 'VCXDCMakeTool',
+ 'VCBscMakeTool',
+ 'VCFxCopTool',
+ 'VCAppVerifierTool',
+ 'VCWebDeploymentTool',
+ 'VCPostBuildEventTool',
+ ],
+ ConfigurationType='2')
+
+
+p.AddConfig('Debug|Win32',
+ InheritedPropertySheets=[
+ '$(SolutionDir)../build/debug.vsprops',
+ './theme_dll.vsprops',
+ ])
+
+p.AddConfig('Release|Win32',
+ InheritedPropertySheets=[
+ '$(SolutionDir)../build/release.vsprops',
+ './theme_dll.vsprops',
+ ])