blob: c3564b4cf807f868eb3a1b0dd143b02b18eadcaa [file] [log] [blame]
# Copyright (c) 2011 The Chromium Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
{
'target_defaults': {
'default_configuration': 'Debug',
'configurations': {
#
# Abstract base configurations to cover common
# attributes.
#
# Currently only implemented for Windows.
#
'Common_Base': {
'abstract': 1,
'msvs_configuration_attributes': {
'OutputDirectory':
'<(DEPTH)\\native_client\\build\\$(ConfigurationName)',
'IntermediateDirectory': '$(OutDir)\\obj\\$(ProjectName)',
'CharacterSet': '1',
},
},
'x86_Base': {
'abstract': 1,
'configuration_platform': 'Win32',
'msvs_settings': {
'VCLinkerTool': {
'TargetMachine': '1', # x86 - 32
},
},
},
'x64_Base': {
'abstract': 1,
'msvs_configuration_platform': 'x64',
'msvs_settings': {
'VCLinkerTool': {
'TargetMachine': '17', # x86 - 64
'AdditionalLibraryDirectories!':
['<(DEPTH)/third_party/platformsdk_win7/files/Lib'],
'AdditionalLibraryDirectories':
['<(DEPTH)/third_party/platformsdk_win7/files/Lib/x64'],
},
'VCLibrarianTool': {
'AdditionalLibraryDirectories!':
['<(DEPTH)/third_party/platformsdk_win7/files/Lib'],
'AdditionalLibraryDirectories':
['<(DEPTH)/third_party/platformsdk_win7/files/Lib/x64'],
},
},
},
'Debug_Base': {
'abstract': 1,
'msvs_settings': {
'VCCLCompilerTool': {
'Optimization': '0',
'PreprocessorDefinitions': ['_DEBUG'],
'BasicRuntimeChecks': '3',
'conditions': [
['component=="shared_library"', {
'RuntimeLibrary': '3', # 3 = /MDd (debug DLL)
}, {
'RuntimeLibrary': '1', # 1 = /MTd (debug static)
}],
],
},
# VCLinkerTool LinkIncremental values below:
# 0 == default
# 1 == /INCREMENTAL:NO
# 2 == /INCREMENTAL
# Debug links incremental, Release does not.
'VCLinkerTool': {
'LinkIncremental': '<(msvs_debug_link_incremental)',
},
'VCResourceCompilerTool': {
'PreprocessorDefinitions': ['_DEBUG'],
},
},
},
'Release_Base': {
'abstract': 1,
'msvs_settings': {
'VCCLCompilerTool': {
'PreprocessorDefinitions': ['NDEBUG'],
'Optimization': '2',
'StringPooling': 'true',
'conditions': [
['component=="shared_library"', {
'RuntimeLibrary': '2', # 2 = /MD (nondebug DLL)
}, {
'RuntimeLibrary': '0', # 0 = /MT (nondebug static)
}],
],
},
'VCLinkerTool': {
'LinkIncremental': '1',
'OptimizeReferences': '2',
'EnableCOMDATFolding': '2',
'OptimizeForWindows98': '1',
},
'VCResourceCompilerTool': {
'PreprocessorDefinitions': ['NDEBUG'],
},
},
},
#
# Concrete configurations
#
#
'Debug': {
'conditions': [
[ 'OS=="mac"', {
'xcode_settings': {
'COPY_PHASE_STRIP': 'NO',
'GCC_OPTIMIZATION_LEVEL': '0',
}
}],
[ 'OS=="win"', {
# On Windows, the default Debug target is x86
'inherit_from': ['Common_Base', 'x86_Base', 'Debug_Base']
}],
],
},
'Release': {
'defines': [
'NDEBUG',
],
'conditions': [
[ 'OS=="mac"', {
'xcode_settings': {
'DEAD_CODE_STRIPPING': 'YES',
}
}],
[ 'OS=="win"', {
# On Windows, the default Release target is x86
'inherit_from': ['Common_Base', 'x86_Base', 'Release_Base']
}],
],
},
'conditions': [
['OS=="win"', {
'Debug_x64': {
'inherit_from': ['Common_Base', 'x64_Base', 'Debug_Base'],
},
'Release_x64': {
'inherit_from': ['Common_Base', 'x64_Base', 'Release_Base'],
},
}],
],
},
},
}