2013-03-13 19:12:05 +00:00
|
|
|
{
|
2015-04-02 06:05:43 +00:00
|
|
|
'includes': [
|
|
|
|
'vendor/download/libchromiumcontent/filenames.gypi',
|
|
|
|
],
|
2013-03-13 19:12:05 +00:00
|
|
|
'variables': {
|
2015-04-05 14:51:38 +00:00
|
|
|
'libchromiumcontent_src_dir': '<(libchromiumcontent_root_dir)/src',
|
2015-04-02 14:14:18 +00:00
|
|
|
'libchromiumcontent_component%': 1,
|
|
|
|
'conditions': [
|
|
|
|
# The "libchromiumcontent_component" is defined when calling "gyp".
|
|
|
|
['libchromiumcontent_component', {
|
|
|
|
'libchromiumcontent_dir%': '<(libchromiumcontent_root_dir)/shared_library',
|
|
|
|
'libchromiumcontent_libraries%': '<(libchromiumcontent_shared_libraries)',
|
|
|
|
}, {
|
|
|
|
'libchromiumcontent_dir%': '<(libchromiumcontent_root_dir)/static_library',
|
|
|
|
'libchromiumcontent_libraries%': '<(libchromiumcontent_static_libraries)',
|
|
|
|
}],
|
|
|
|
],
|
2015-04-02 06:05:43 +00:00
|
|
|
|
2013-03-28 21:16:35 +00:00
|
|
|
'mac_deployment_target%': '10.8',
|
|
|
|
'mac_sdkroot%': 'macosx',
|
2013-05-22 15:15:04 +00:00
|
|
|
|
|
|
|
# See http://msdn.microsoft.com/en-us/library/aa652360(VS.71).aspx
|
|
|
|
'win_release_Optimization%': '2', # 2 = /Os
|
|
|
|
'win_debug_Optimization%': '0', # 0 = /Od
|
|
|
|
|
|
|
|
# See http://msdn.microsoft.com/en-us/library/2kxx5t2c(v=vs.80).aspx
|
|
|
|
# Tri-state: blank is default, 1 on, 0 off
|
|
|
|
'win_release_OmitFramePointers%': '0',
|
|
|
|
# Tri-state: blank is default, 1 on, 0 off
|
|
|
|
'win_debug_OmitFramePointers%': '',
|
|
|
|
|
|
|
|
# See http://msdn.microsoft.com/en-us/library/8wtf2dfz(VS.71).aspx
|
|
|
|
'win_debug_RuntimeChecks%': '3', # 3 = all checks enabled, 0 = off
|
|
|
|
|
|
|
|
# See http://msdn.microsoft.com/en-us/library/47238hez(VS.71).aspx
|
|
|
|
'win_debug_InlineFunctionExpansion%': '', # empty = default, 0 = off,
|
|
|
|
'win_release_InlineFunctionExpansion%': '2', # 1 = only __inline, 2 = max
|
2013-03-13 19:12:05 +00:00
|
|
|
},
|
|
|
|
'target_defaults': {
|
2015-04-09 02:03:01 +00:00
|
|
|
'includes': [
|
|
|
|
# Rules for excluding e.g. foo_win.cc from the build on non-Windows.
|
|
|
|
'filename_rules.gypi',
|
|
|
|
],
|
2013-03-13 19:12:05 +00:00
|
|
|
'xcode_settings': {
|
2013-03-14 17:06:17 +00:00
|
|
|
'ALWAYS_SEARCH_USER_PATHS': 'NO',
|
2013-12-11 07:54:46 +00:00
|
|
|
'ARCHS': ['x86_64'],
|
2015-01-26 14:38:01 +00:00
|
|
|
'CLANG_CXX_LANGUAGE_STANDARD': 'c++11',
|
|
|
|
'CLANG_CXX_LIBRARY': 'libc++',
|
2013-03-13 19:12:05 +00:00
|
|
|
'COMBINE_HIDPI_IMAGES': 'YES',
|
2013-04-26 18:13:45 +00:00
|
|
|
'GCC_ENABLE_CPP_EXCEPTIONS': 'NO',
|
2013-03-13 19:12:05 +00:00
|
|
|
'GCC_ENABLE_CPP_RTTI': 'NO',
|
|
|
|
'GCC_TREAT_WARNINGS_AS_ERRORS': 'YES',
|
2013-03-28 19:56:35 +00:00
|
|
|
'MACOSX_DEPLOYMENT_TARGET': '<(mac_deployment_target)',
|
2013-03-13 19:12:05 +00:00
|
|
|
'RUN_CLANG_STATIC_ANALYZER': 'YES',
|
2013-03-28 19:56:35 +00:00
|
|
|
'SDKROOT': '<(mac_sdkroot)',
|
2013-03-14 17:06:17 +00:00
|
|
|
'USE_HEADER_MAP': 'NO',
|
2013-03-13 19:12:05 +00:00
|
|
|
'WARNING_CFLAGS': [
|
|
|
|
'-Wall',
|
|
|
|
'-Wextra',
|
|
|
|
'-Wno-unused-parameter',
|
|
|
|
'-Wno-missing-field-initializers',
|
|
|
|
],
|
|
|
|
},
|
|
|
|
'configurations': {
|
2015-04-02 14:14:18 +00:00
|
|
|
# The "Debug" and "Release" configurations are not actually used.
|
|
|
|
'Debug': {},
|
|
|
|
'Release': {},
|
|
|
|
|
2013-05-14 17:50:31 +00:00
|
|
|
'Common_Base': {
|
|
|
|
'abstract': 1,
|
2013-05-21 18:49:49 +00:00
|
|
|
'defines': [
|
2015-04-03 01:56:03 +00:00
|
|
|
# We are using Release version libchromiumcontent:
|
2013-05-21 18:49:49 +00:00
|
|
|
'NDEBUG',
|
2014-08-31 10:28:53 +00:00
|
|
|
# From skia_for_chromium_defines.gypi:
|
|
|
|
'SK_SUPPORT_LEGACY_GETTOPDEVICE',
|
|
|
|
'SK_SUPPORT_LEGACY_BITMAP_CONFIG',
|
|
|
|
'SK_SUPPORT_LEGACY_DEVICE_VIRTUAL_ISOPAQUE',
|
|
|
|
'SK_SUPPORT_LEGACY_N32_NAME',
|
|
|
|
'SK_SUPPORT_LEGACY_SETCONFIG',
|
|
|
|
'SK_IGNORE_ETC1_SUPPORT',
|
|
|
|
'SK_IGNORE_GPU_DITHER',
|
2013-05-21 18:49:49 +00:00
|
|
|
],
|
2013-05-14 17:50:31 +00:00
|
|
|
'msvs_configuration_attributes': {
|
2015-04-02 06:05:43 +00:00
|
|
|
'OutputDirectory': '<(DEPTH)\\build\\$(ConfigurationName)',
|
2013-05-14 17:50:31 +00:00
|
|
|
'IntermediateDirectory': '$(OutDir)\\obj\\$(ProjectName)',
|
|
|
|
'CharacterSet': '1',
|
|
|
|
},
|
2013-05-21 15:30:43 +00:00
|
|
|
'msvs_settings': {
|
|
|
|
'VCLinkerTool': {
|
|
|
|
'AdditionalDependencies': [
|
|
|
|
'advapi32.lib',
|
2015-04-06 07:04:07 +00:00
|
|
|
'dbghelp.lib',
|
2014-07-07 17:53:02 +00:00
|
|
|
'dwmapi.lib',
|
|
|
|
'gdi32.lib',
|
2015-04-06 08:01:31 +00:00
|
|
|
'netapi32.lib',
|
2014-07-07 17:53:02 +00:00
|
|
|
'oleacc.lib',
|
2015-04-06 08:01:31 +00:00
|
|
|
'powrprof.lib',
|
2013-05-21 15:42:26 +00:00
|
|
|
'user32.lib',
|
2015-04-06 08:01:31 +00:00
|
|
|
'usp10.lib',
|
|
|
|
'version.lib',
|
2015-04-06 07:04:07 +00:00
|
|
|
'winspool.lib',
|
2013-05-21 15:30:43 +00:00
|
|
|
],
|
|
|
|
},
|
|
|
|
},
|
2013-08-06 21:29:08 +00:00
|
|
|
'conditions': [
|
2014-07-02 14:08:43 +00:00
|
|
|
['OS!="mac"', {
|
2014-06-27 17:40:06 +00:00
|
|
|
'defines': [
|
2014-07-03 06:59:14 +00:00
|
|
|
'TOOLKIT_VIEWS',
|
2014-06-27 17:40:06 +00:00
|
|
|
'USE_AURA',
|
|
|
|
],
|
|
|
|
}],
|
2013-08-06 21:29:08 +00:00
|
|
|
['OS not in ["mac", "win"]', {
|
|
|
|
'defines': [
|
|
|
|
'USE_X11',
|
|
|
|
],
|
|
|
|
}],
|
2015-04-09 01:58:07 +00:00
|
|
|
['OS=="linux"', {
|
|
|
|
'cflags_cc': [
|
|
|
|
'-D__STRICT_ANSI__',
|
|
|
|
'-std=gnu++11',
|
|
|
|
'-fno-rtti',
|
|
|
|
],
|
|
|
|
}], # OS=="linux"
|
2013-08-06 21:29:08 +00:00
|
|
|
],
|
2015-04-05 15:03:34 +00:00
|
|
|
}, # Common_Base
|
|
|
|
'Debug_Base': {
|
2015-04-09 01:58:07 +00:00
|
|
|
'defines': [
|
|
|
|
# Use this instead of "NDEBUG" to determine whether we are in
|
|
|
|
# Debug build, because "NDEBUG" is already used by Chromium.
|
|
|
|
'DEBUG',
|
|
|
|
# Require when using libchromiumcontent.
|
|
|
|
'COMPONENT_BUILD',
|
|
|
|
'GURL_DLL',
|
|
|
|
'SKIA_DLL',
|
|
|
|
'USING_V8_SHARED',
|
|
|
|
'WEBKIT_DLL',
|
|
|
|
],
|
2015-04-05 15:03:34 +00:00
|
|
|
'msvs_settings': {
|
|
|
|
'VCCLCompilerTool': {
|
2015-04-07 05:48:09 +00:00
|
|
|
'RuntimeLibrary': '2', # /MD (nondebug DLL)
|
2015-04-05 15:03:34 +00:00
|
|
|
'Optimization': '<(win_debug_Optimization)',
|
|
|
|
'BasicRuntimeChecks': '<(win_debug_RuntimeChecks)',
|
|
|
|
'conditions': [
|
|
|
|
# According to MSVS, InlineFunctionExpansion=0 means
|
|
|
|
# "default inlining", not "/Ob0".
|
|
|
|
# Thus, we have to handle InlineFunctionExpansion==0 separately.
|
|
|
|
['win_debug_InlineFunctionExpansion==0', {
|
|
|
|
'AdditionalOptions': ['/Ob0'],
|
|
|
|
}],
|
|
|
|
['win_debug_InlineFunctionExpansion!=""', {
|
|
|
|
'InlineFunctionExpansion':
|
|
|
|
'<(win_debug_InlineFunctionExpansion)',
|
|
|
|
}],
|
|
|
|
# if win_debug_OmitFramePointers is blank, leave as default
|
|
|
|
['win_debug_OmitFramePointers==1', {
|
|
|
|
'OmitFramePointers': 'true',
|
|
|
|
}],
|
|
|
|
['win_debug_OmitFramePointers==0', {
|
|
|
|
'OmitFramePointers': 'false',
|
|
|
|
# The above is not sufficient (http://crbug.com/106711): it
|
|
|
|
# simply eliminates an explicit "/Oy", but both /O2 and /Ox
|
|
|
|
# perform FPO regardless, so we must explicitly disable.
|
|
|
|
# We still want the false setting above to avoid having
|
|
|
|
# "/Oy /Oy-" and warnings about overriding.
|
|
|
|
'AdditionalOptions': ['/Oy-'],
|
|
|
|
}],
|
2013-05-22 15:15:04 +00:00
|
|
|
],
|
|
|
|
},
|
2015-04-05 15:03:34 +00:00
|
|
|
},
|
|
|
|
'xcode_settings': {
|
|
|
|
'COPY_PHASE_STRIP': 'NO',
|
|
|
|
'GCC_OPTIMIZATION_LEVEL': '0',
|
|
|
|
},
|
|
|
|
}, # Debug_Base
|
|
|
|
'Release_Base': {
|
|
|
|
'msvs_settings': {
|
|
|
|
'VCCLCompilerTool': {
|
|
|
|
'Optimization': '<(win_release_Optimization)',
|
|
|
|
'conditions': [
|
|
|
|
# According to MSVS, InlineFunctionExpansion=0 means
|
|
|
|
# "default inlining", not "/Ob0".
|
|
|
|
# Thus, we have to handle InlineFunctionExpansion==0 separately.
|
|
|
|
['win_release_InlineFunctionExpansion==0', {
|
|
|
|
'AdditionalOptions': ['/Ob0'],
|
|
|
|
}],
|
|
|
|
['win_release_InlineFunctionExpansion!=""', {
|
|
|
|
'InlineFunctionExpansion':
|
|
|
|
'<(win_release_InlineFunctionExpansion)',
|
|
|
|
}],
|
|
|
|
# if win_release_OmitFramePointers is blank, leave as default
|
|
|
|
['win_release_OmitFramePointers==1', {
|
|
|
|
'OmitFramePointers': 'true',
|
|
|
|
}],
|
|
|
|
['win_release_OmitFramePointers==0', {
|
|
|
|
'OmitFramePointers': 'false',
|
|
|
|
# The above is not sufficient (http://crbug.com/106711): it
|
|
|
|
# simply eliminates an explicit "/Oy", but both /O2 and /Ox
|
|
|
|
# perform FPO regardless, so we must explicitly disable.
|
|
|
|
# We still want the false setting above to avoid having
|
|
|
|
# "/Oy /Oy-" and warnings about overriding.
|
|
|
|
'AdditionalOptions': ['/Oy-'],
|
|
|
|
}],
|
2013-05-22 15:15:04 +00:00
|
|
|
],
|
2015-04-05 15:03:34 +00:00
|
|
|
},
|
|
|
|
},
|
2015-04-09 01:58:07 +00:00
|
|
|
'conditions': [
|
|
|
|
['OS=="linux"', {
|
|
|
|
'cflags': [
|
|
|
|
'-O2',
|
|
|
|
# Don't emit the GCC version ident directives, they just end up
|
|
|
|
# in the .comment section taking up binary size.
|
|
|
|
'-fno-ident',
|
|
|
|
# Put data and code in their own sections, so that unused symbols
|
|
|
|
# can be removed at link time with --gc-sections.
|
|
|
|
'-fdata-sections',
|
|
|
|
'-ffunction-sections',
|
|
|
|
],
|
|
|
|
'ldflags': [
|
|
|
|
# Specifically tell the linker to perform optimizations.
|
|
|
|
# See http://lwn.net/Articles/192624/ .
|
|
|
|
'-Wl,-O1',
|
|
|
|
'-Wl,--as-needed',
|
|
|
|
'-Wl,--gc-sections',
|
|
|
|
],
|
|
|
|
}], # OS=="linux"
|
|
|
|
],
|
2015-04-05 15:03:34 +00:00
|
|
|
}, # Release_Base
|
|
|
|
'conditions': [
|
2015-04-06 13:41:36 +00:00
|
|
|
['libchromiumcontent_component', {
|
|
|
|
'D': {
|
|
|
|
'inherit_from': ['Common_Base', 'Debug_Base'],
|
|
|
|
}, # D (Debug)
|
|
|
|
}, {
|
|
|
|
'R': {
|
|
|
|
'inherit_from': ['Common_Base', 'Release_Base'],
|
|
|
|
}, # R (Release)
|
|
|
|
}], # libchromiumcontent_component
|
2015-04-05 15:03:34 +00:00
|
|
|
['OS=="win"', {
|
|
|
|
'x64_Base': {
|
|
|
|
'abstract': 1,
|
|
|
|
'msvs_configuration_platform': 'x64',
|
2015-04-02 14:14:18 +00:00
|
|
|
'msvs_settings': {
|
2015-04-05 15:03:34 +00:00
|
|
|
'VCLinkerTool': {
|
|
|
|
# Make sure to understand http://crbug.com/361720 if you want to
|
|
|
|
# increase this.
|
|
|
|
'MinimumRequiredVersion': '5.02', # Server 2003.
|
|
|
|
'TargetMachine': '17', # x86 - 64
|
|
|
|
# Doesn't exist x64 SDK. Should use oleaut32 in any case.
|
|
|
|
'IgnoreDefaultLibraryNames': [ 'olepro32.lib' ],
|
|
|
|
},
|
|
|
|
'VCLibrarianTool': {
|
|
|
|
'TargetMachine': '17', # x64
|
2015-04-02 14:14:18 +00:00
|
|
|
},
|
|
|
|
},
|
2015-04-06 13:41:36 +00:00
|
|
|
}, # x64_Base
|
2015-04-05 15:03:34 +00:00
|
|
|
}], # OS=="win"
|
2015-04-06 13:41:36 +00:00
|
|
|
['OS=="win" and libchromiumcontent_component==1', {
|
2015-04-05 15:03:34 +00:00
|
|
|
'D_x64': {
|
|
|
|
'inherit_from': ['Common_Base', 'x64_Base', 'Debug_Base'],
|
2015-04-06 13:41:36 +00:00
|
|
|
}, # D_x64
|
|
|
|
}], # OS=="win" and libchromiumcontent_component==1
|
|
|
|
['OS=="win" and libchromiumcontent_component==0', {
|
2015-04-05 15:03:34 +00:00
|
|
|
'R_x64': {
|
|
|
|
'inherit_from': ['Common_Base', 'x64_Base', 'Release_Base'],
|
2015-04-06 13:41:36 +00:00
|
|
|
}, # R_x64
|
|
|
|
}], # OS=="win" and libchromiumcontent_component==0
|
2015-04-02 14:14:18 +00:00
|
|
|
],
|
2013-03-13 19:12:05 +00:00
|
|
|
},
|
|
|
|
},
|
2013-05-14 17:50:31 +00:00
|
|
|
'conditions': [
|
|
|
|
['OS=="win"', {
|
|
|
|
'target_defaults': {
|
2013-06-04 18:31:37 +00:00
|
|
|
'include_dirs': [
|
2015-04-02 14:14:18 +00:00
|
|
|
'<(libchromiumcontent_src_dir)/third_party/wtl/include',
|
2013-06-04 18:31:37 +00:00
|
|
|
],
|
2013-05-14 17:50:31 +00:00
|
|
|
'defines': [
|
|
|
|
'_WIN32_WINNT=0x0602',
|
|
|
|
'WINVER=0x0602',
|
|
|
|
'WIN32',
|
|
|
|
'_WINDOWS',
|
|
|
|
'NOMINMAX',
|
|
|
|
'PSAPI_VERSION=1',
|
|
|
|
'_CRT_RAND_S',
|
|
|
|
'CERT_CHAIN_PARA_HAS_EXTRA_FIELDS',
|
|
|
|
'WIN32_LEAN_AND_MEAN',
|
|
|
|
'_ATL_NO_OPENGL',
|
2013-06-04 18:31:37 +00:00
|
|
|
'_SECURE_ATL',
|
|
|
|
],
|
|
|
|
'msvs_system_include_dirs': [
|
|
|
|
'$(VSInstallDir)/VC/atlmfc/include',
|
2013-05-14 17:50:31 +00:00
|
|
|
],
|
2013-05-28 15:56:17 +00:00
|
|
|
'msvs_settings': {
|
|
|
|
'VCCLCompilerTool': {
|
|
|
|
'AdditionalOptions': ['/MP'],
|
|
|
|
'MinimalRebuild': 'false',
|
|
|
|
'BufferSecurityCheck': 'true',
|
|
|
|
'EnableFunctionLevelLinking': 'true',
|
|
|
|
'RuntimeTypeInfo': 'false',
|
|
|
|
'WarningLevel': '4',
|
|
|
|
'WarnAsError': 'true',
|
|
|
|
'DebugInformationFormat': '3',
|
|
|
|
},
|
2013-05-28 15:56:50 +00:00
|
|
|
'VCLinkerTool': {
|
|
|
|
'GenerateDebugInformation': 'true',
|
|
|
|
'MapFileName': '$(OutDir)\\$(TargetName).map',
|
|
|
|
'ImportLibrary': '$(OutDir)\\lib\\$(TargetName).lib',
|
|
|
|
},
|
2013-05-14 17:50:31 +00:00
|
|
|
},
|
2013-05-28 15:56:17 +00:00
|
|
|
'msvs_disabled_warnings': [
|
|
|
|
4100, # unreferenced formal parameter
|
|
|
|
4127, # conditional expression is constant
|
2014-07-28 04:12:14 +00:00
|
|
|
4189, # local variable is initialized but not referenced
|
2013-05-28 15:56:17 +00:00
|
|
|
4244, # 'initializing' : conversion from 'double' to 'size_t', possible loss of data
|
|
|
|
4245, # 'initializing' : conversion from 'int' to 'const net::QuicVersionTag', signed/unsigned mismatch
|
|
|
|
4251, # class 'std::xx' needs to have dll-interface.
|
|
|
|
4310, # cast truncates constant value
|
2013-05-30 19:04:51 +00:00
|
|
|
4355, # 'this' : used in base member initializer list
|
2013-05-28 15:56:17 +00:00
|
|
|
4480, # nonstandard extension used: specifying underlying type for enum
|
|
|
|
4481, # nonstandard extension used: override specifier 'override'
|
2014-12-10 20:40:39 +00:00
|
|
|
4510, # default constructor could not be generated
|
2013-05-28 15:56:17 +00:00
|
|
|
4512, # assignment operator could not be generated
|
2014-12-10 20:40:39 +00:00
|
|
|
4610, # user defined constructor required
|
2013-05-28 15:56:17 +00:00
|
|
|
4702, # unreachable code
|
2014-07-09 12:04:30 +00:00
|
|
|
4819, # The file contains a character that cannot be represented in the current code page
|
2013-05-28 15:56:17 +00:00
|
|
|
],
|
2013-05-14 17:50:31 +00:00
|
|
|
},
|
|
|
|
}],
|
|
|
|
],
|
2013-03-13 19:12:05 +00:00
|
|
|
}
|