summaryrefslogtreecommitdiffstats
path: root/build
diff options
context:
space:
mode:
authorgregoryd@google.com <gregoryd@google.com@0039d316-1c4b-4281-b951-d872f2087c98>2009-12-19 00:35:28 +0000
committergregoryd@google.com <gregoryd@google.com@0039d316-1c4b-4281-b951-d872f2087c98>2009-12-19 00:35:28 +0000
commit95d3e0c768b1f9fe7d1a9e052294674a76153664 (patch)
tree5fe200bf4afa90a567e7a6a138d81adcda34bd39 /build
parent2dd8e7fdab91dfbd1ed6478808f2aae5c2d9c064 (diff)
downloadchromium_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')
-rw-r--r--build/common.gypi130
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':