blob: 9855b6a8ba3087dcb1f76bc26c8e5cc165c231f3 [file] [log] [blame]
# Copyright (c) 2009 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.
{
'variables': {
'chromium_code%': 0,
},
'target_defaults': {
# TODO(bradnelson): This should really be able to be either:
# CHROMIUM_BUILD or GOOGLE_CHROME_BUILD
'defines': ['CHROMIUM_BUILD'],
'default_configuration': 'Debug',
'configurations': {
'Debug': {
'conditions': [
[ 'OS=="mac"', {
'xcode_settings': {
'COPY_PHASE_STRIP': 'NO',
'GCC_OPTIMIZATION_LEVEL': '0',
}
}],
[ 'OS=="win"', {
'configuration_platform': 'Win32',
'msvs_configuration_attributes': {
'OutputDirectory': '$(SolutionDir)$(ConfigurationName)',
'IntermediateDirectory': '$(OutDir)\\obj\\$(ProjectName)',
'CharacterSet': '1',
},
'msvs_settings': {
'VCCLCompilerTool': {
'Optimization': '0',
'PreprocessorDefinitions': ['_DEBUG'],
'BasicRuntimeChecks': '3',
'RuntimeLibrary': '1',
},
'VCLinkerTool': {
'LinkIncremental': '1',
},
'VCResourceCompilerTool': {
'PreprocessorDefinitions': ['_DEBUG'],
},
},
}],
],
},
'Release': {
'defines': [
'NDEBUG',
],
'conditions': [
[ 'OS=="mac"', {
'xcode_settings': {
'DEAD_CODE_STRIPPING': 'YES',
}
}],
[ 'OS=="win"', {
'configuration_platform': 'Win32',
'msvs_props': ['release.vsprops'],
}],
],
},
},
},
'conditions': [
['OS=="mac"', {
'target_defaults': {
'xcode_settings': {
'ALWAYS_SEARCH_USER_PATHS': 'NO',
'GCC_C_LANGUAGE_STANDARD': 'c99',
'GCC_CW_ASM_SYNTAX': 'NO',
'GCC_DYNAMIC_NO_PIC': 'YES',
'GCC_ENABLE_PASCAL_STRINGS': 'NO',
'GCC_INLINES_ARE_PRIVATE_EXTERN': 'YES',
'GCC_PRECOMPILE_PREFIX_HEADER': 'YES',
'GCC_SYMBOLS_PRIVATE_EXTERN': 'YES',
'GCC_TREAT_WARNINGS_AS_ERRORS': 'YES',
'GCC_VERSION': '4.2',
'GCC_WARN_ABOUT_MISSING_NEWLINE': 'YES',
'MACOSX_DEPLOYMENT_TARGET': '10.5',
'PREBINDING': 'NO',
'SDKROOT': 'macosx10.5',
'USE_HEADERMAP': 'NO',
'WARNING_CFLAGS': ['-Wall', '-Wendif-labels'],
},
'target_conditions': [
['_type=="shared_library"', {
'xcode_settings': {'GCC_DYNAMIC_NO_PIC': 'NO'},
}],
['_type!="static_library"', {
'xcode_settings': {'OTHER_LDFLAGS': ['-Wl,-search_paths_first']},
}],
['_type=="application"', {
'xcode_settings': {'OTHER_LDFLAGS': ['-Wl,-ObjC']},
}],
['_type=="application" or _type=="executable"', {
'postbuilds': [
{
'variables': {
# Define strip_from_xcode in a variable ending in _path so
# that gyp understands it's a path and performs proper
# relativization during dict merging.
'strip_from_xcode_path': 'mac/strip_from_xcode',
},
'postbuild_name': 'Strip If Needed',
'action': ['<(strip_from_xcode_path)'],
},
],
}],
],
},
}],
['OS=="win"', {
'target_defaults': {
'defines': [
'_WIN32_WINNT=0x0600',
'WINVER=0x0600',
'WIN32',
'_WINDOWS',
'_HAS_EXCEPTIONS=0',
'NOMINMAX',
'_CRT_RAND_S',
'CERT_CHAIN_PARA_HAS_EXTRA_FIELDS',
'WIN32_LEAN_AND_MEAN',
'_SECURE_ATL',
'_HAS_TR1=0',
],
'include_dirs': [
'<(DEPTH)/third_party/platformsdk_win2008_6_1/files/Include',
'$(VSInstallDir)/VC/atlmfc/include',
],
'msvs_cygwin_dirs': ['../third_party/cygwin'],
'msvs_disabled_warnings': [4503, 4819],
'msvs_settings': {
'VCCLCompilerTool': {
'MinimalRebuild': 'false',
'ExceptionHandling': '0',
'BufferSecurityCheck': 'true',
'EnableFunctionLevelLinking': 'true',
'RuntimeTypeInfo': 'false',
'WarningLevel': '3',
'WarnAsError': 'true',
'DebugInformationFormat': '3',
},
'VCLibrarianTool': {
'AdditionalOptions': '/ignore:4221',
'OutputFile': '$(OutDir)\\lib\\$(ProjectName).lib',
'AdditionalLibraryDirectories':
'<(DEPTH)/third_party/platformsdk_win2008_6_1/files/Lib',
},
'VCLinkerTool': {
'AdditionalOptions':
'/safeseh /dynamicbase /ignore:4199 /ignore:4221 /nxcompat',
'AdditionalDependencies': [
'wininet.lib',
'version.lib',
'msimg32.lib',
'ws2_32.lib',
'usp10.lib',
'psapi.lib',
],
'AdditionalLibraryDirectories':
'<(DEPTH)/third_party/platformsdk_win2008_6_1/files/Lib',
'DelayLoadDLLs': 'dwmapi.dll,uxtheme.dll',
'GenerateDebugInformation': 'true',
'MapFileName': '$(OutDir)\\$(TargetName).map',
'ImportLibrary': '$(OutDir)\\lib\\$(TargetName).lib',
'TargetMachine': '1',
'FixedBaseAddress': '1',
},
'VCMIDLTool': {
'GenerateStublessProxies': 'true',
'TypeLibraryName': '$(InputName).tlb',
'OutputDirectory': '$(IntDir)',
'HeaderFileName': '$(InputName).h',
'DLLDataFileName': 'dlldata.c',
'InterfaceIdentifierFileName': '$(InputName)_i.c',
'ProxyFileName': '$(InputName)_p.c',
},
'VCResourceCompilerTool': {
'Culture' : '1033',
'AdditionalIncludeDirectories': '<(DEPTH)',
},
},
},
}],
['chromium_code==0', {
# This section must follow the other conditon sections above because
# external_code.gypi expects to be merged into those settings.
'includes': [
'external_code.gypi',
],
}],
],
'xcode_settings': {
# The Xcode generator will look for an xcode_settings section at the root
# of each dict and use it to apply settings on a file-wide basis. Most
# settings should not be here, they should be in target-specific
# xcode_settings sections, or better yet, should use non-Xcode-specific
# settings in target dicts. SYMROOT is a special case, because many other
# Xcode variables depend on it, including variables such as
# PROJECT_DERIVED_FILE_DIR. When a source group corresponding to something
# like PROJECT_DERIVED_FILE_DIR is added to a project, in order for the
# files to appear (when present) in the UI as actual files and not red
# red "missing file" proxies, the correct path to PROJECT_DERIVED_FILE_DIR,
# and therefore SYMROOT, needs to be set at the project level.
'SYMROOT': '<(DEPTH)/xcodebuild',
},
}