# 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'], }, }], ], }, }, }