diff options
author | gregoryd@google.com <gregoryd@google.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-12-19 00:35:28 +0000 |
---|---|---|
committer | gregoryd@google.com <gregoryd@google.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-12-19 00:35:28 +0000 |
commit | 95d3e0c768b1f9fe7d1a9e052294674a76153664 (patch) | |
tree | 5fe200bf4afa90a567e7a6a138d81adcda34bd39 /build/common.gypi | |
parent | 2dd8e7fdab91dfbd1ed6478808f2aae5c2d9c064 (diff) | |
download | chromium_src-95d3e0c768b1f9fe7d1a9e052294674a76153664.zip chromium_src-95d3e0c768b1f9fe7d1a9e052294674a76153664.tar.gz chromium_src-95d3e0c768b1f9fe7d1a9e052294674a76153664.tar.bz2 |
Rearrange build configurations - make it clearer and allow better support for x64 on Windows
TEST=none
BUG=29467
Review URL: http://codereview.chromium.org/501127
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@35012 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'build/common.gypi')
-rw-r--r-- | build/common.gypi | 130 |
1 files changed, 85 insertions, 45 deletions
diff --git a/build/common.gypi b/build/common.gypi index b51ce40..bc442fa 100644 --- a/build/common.gypi +++ b/build/common.gypi @@ -396,18 +396,25 @@ ], # conditions for 'target_defaults' 'default_configuration': 'Debug', 'configurations': { - # VCLinkerTool LinkIncremental values below: - # 0 == default - # 1 == /INCREMENTAL:NO - # 2 == /INCREMENTAL - # Debug links incremental, Release does not. - 'Common': { + # VCLinkerTool LinkIncremental values below: + # 0 == default + # 1 == /INCREMENTAL:NO + # 2 == /INCREMENTAL + # Debug links incremental, Release does not. + # + # Abstract base configurations to cover common + # attributes. + # + 'Common_Base': { 'abstract': 1, 'msvs_configuration_attributes': { 'OutputDirectory': '$(SolutionDir)$(ConfigurationName)', 'IntermediateDirectory': '$(OutDir)\\obj\\$(ProjectName)', 'CharacterSet': '1', }, + }, + 'x86_Base': { + 'abstract': 1, 'msvs_settings': { 'VCLinkerTool': { 'TargetMachine': '1', @@ -415,8 +422,36 @@ }, 'msvs_configuration_platform': 'Win32', }, - 'Debug': { - 'inherit_from': ['Common'], + 'x64_Base': { + 'abstract': 1, + 'msvs_configuration_platform': 'x64', + 'msvs_settings': { + 'VCLinkerTool': { + 'TargetMachine': '17', # x86 - 64 + }, + }, + 'msvs_settings': { + 'VCLibrarianTool': { + 'AdditionalLibraryDirectories!': + ['<(DEPTH)/third_party/platformsdk_win7/files/Lib'], + 'AdditionalLibraryDirectories': + ['<(DEPTH)/third_party/platformsdk_win7/files/Lib/x64'], + }, + 'VCLinkerTool': { + 'TargetMachine': '17', + 'AdditionalLibraryDirectories!': + ['<(DEPTH)/third_party/platformsdk_win7/files/Lib'], + 'AdditionalLibraryDirectories': + ['<(DEPTH)/third_party/platformsdk_win7/files/Lib/x64'], + }, + }, + 'defines': [ + # Not sure if tcmalloc works on 64-bit Windows. + 'NO_TCMALLOC', + ], + }, + 'Debug_Base': { + 'abstract': 1, 'xcode_settings': { 'COPY_PHASE_STRIP': 'NO', 'GCC_OPTIMIZATION_LEVEL': '<(mac_debug_optimization)', @@ -444,8 +479,8 @@ }], ], }, - 'Release': { - 'inherit_from': ['Common'], + 'Release_Base': { + 'abstract': 1, 'defines': [ 'NDEBUG', ], @@ -477,9 +512,6 @@ # class 'std::bad_cast' 'msvs_disabled_warnings': [4275], }], - ['msvs_use_common_release', { - 'msvs_props': ['release.vsprops'], - }], ['OS=="linux"', { 'cflags': [ '<@(release_extra_cflags)', @@ -487,44 +519,52 @@ }], ], }, + 'Purify_Base': { + 'abstract': 1, + 'defines': [ + 'PURIFY', + 'NO_TCMALLOC', + ], + 'msvs_settings': { + 'VCCLCompilerTool': { + 'Optimization': '0', + 'RuntimeLibrary': '0', + 'BufferSecurityCheck': 'false', + }, + 'VCLinkerTool': { + 'EnableCOMDATFolding': '1', + 'LinkIncremental': '1', + }, + }, + }, + # + # Concrete configurations + # + 'Debug': { + 'inherit_from': ['Common_Base', 'x86_Base', 'Debug_Base'], + }, + 'Release': { + 'inherit_from': ['Common_Base', 'x86_Base', 'Release_Base'], + 'conditions': [ + ['msvs_use_common_release', { + 'msvs_props': ['release.vsprops'], + }], + ] + }, 'conditions': [ [ 'OS=="win"', { # TODO(bradnelson): add a gyp mechanism to make this more graceful. 'Purify': { - 'inherit_from': ['Release'], - 'defines': [ - 'PURIFY', - 'NO_TCMALLOC', - ], - 'msvs_settings': { - 'VCCLCompilerTool': { - 'Optimization': '0', - 'RuntimeLibrary': '0', - 'BufferSecurityCheck': 'false', - }, - 'VCLinkerTool': { - 'EnableCOMDATFolding': '1', - 'LinkIncremental': '1', - }, - }, - }, - 'Common_x64': { - 'msvs_configuration_platform': 'x64', - 'msvs_settings': { - 'VCLinkerTool': { - 'TargetMachine': '17', - }, - }, - 'abstract': 1, + 'inherit_from': ['Common_Base', 'x86_Base', 'Release_Base', 'Purify'], }, 'Debug_x64': { - 'inherit_from': ['Debug', 'Common_x64'], + 'inherit_from': ['Common_Base', 'x64_Base', 'Debug_Base'], }, 'Release_x64': { - 'inherit_from': ['Release', 'Common_x64'], + 'inherit_from': ['Common_Base', 'x64_Base', 'Release_Base'], }, 'Purify_x64': { - 'inherit_from': ['Purify', 'Common_x64'], + 'inherit_from': ['Common_Base', 'x64_Base', 'Release_Base', 'Purify'], }, }], ], @@ -628,7 +668,7 @@ 'OFFICIAL_BUILD', ], 'configurations': { - 'Debug': { + 'Debug_Base': { 'variables': { 'debug_optimize%': '0', }, @@ -861,7 +901,7 @@ # strip_from_xcode will not be used, set Xcode to do the # stripping as well. 'configurations': { - 'Release': { + 'Release_Base': { 'xcode_settings': { 'DEBUG_INFORMATION_FORMAT': 'dwarf-with-dsym', 'DEPLOYMENT_POSTPROCESSING': 'YES', @@ -1051,7 +1091,7 @@ }, }, 'configurations': { - 'Common': { + 'x86_Base': { 'msvs_settings': { 'VCLinkerTool': { 'AdditionalOptions': @@ -1059,7 +1099,7 @@ }, }, }, - 'Common_x64': { + 'x64_Base': { 'msvs_settings': { 'VCLinkerTool': { 'AdditionalOptions': |