{ 'includes': [ 'vendor/download/libchromiumcontent/filenames.gypi', ], 'variables': { 'libchromiumcontent_src_dir': '<(libchromiumcontent_root_dir)/src', '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)', }], ], 'mac_deployment_target%': '10.8', 'mac_sdkroot%': 'macosx', # Build with clang under Linux. 'linux_clang%': 1, # 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 }, 'target_defaults': { 'xcode_settings': { 'ALWAYS_SEARCH_USER_PATHS': 'NO', 'ARCHS': ['x86_64'], 'CLANG_CXX_LANGUAGE_STANDARD': 'c++11', 'CLANG_CXX_LIBRARY': 'libc++', 'COMBINE_HIDPI_IMAGES': 'YES', 'GCC_ENABLE_CPP_EXCEPTIONS': 'NO', 'GCC_ENABLE_CPP_RTTI': 'NO', 'GCC_TREAT_WARNINGS_AS_ERRORS': 'YES', 'MACOSX_DEPLOYMENT_TARGET': '<(mac_deployment_target)', 'RUN_CLANG_STATIC_ANALYZER': 'YES', 'SDKROOT': '<(mac_sdkroot)', 'USE_HEADER_MAP': 'NO', 'WARNING_CFLAGS': [ '-Wall', '-Wextra', '-Wno-unused-parameter', '-Wno-missing-field-initializers', ], }, 'configurations': { # The "Debug" and "Release" configurations are not actually used. 'Debug': {}, 'Release': {}, 'Common_Base': { 'abstract': 1, 'defines': [ # We are using Release version libchromiumcontent: 'NDEBUG', # 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', ], 'msvs_configuration_attributes': { 'OutputDirectory': '<(DEPTH)\\build\\$(ConfigurationName)', 'IntermediateDirectory': '$(OutDir)\\obj\\$(ProjectName)', 'CharacterSet': '1', }, 'msvs_settings': { 'VCLinkerTool': { 'AdditionalDependencies': [ 'advapi32.lib', 'dbghelp.lib', 'dwmapi.lib', 'gdi32.lib', 'netapi32.lib', 'oleacc.lib', 'powrprof.lib', 'user32.lib', 'usp10.lib', 'version.lib', 'winspool.lib', ], }, }, 'conditions': [ ['OS!="mac"', { 'defines': [ 'TOOLKIT_VIEWS', 'USE_AURA', ], }], ['OS not in ["mac", "win"]', { 'defines': [ 'USE_X11', ], }], ], }, # Common_Base 'Debug_Base': { 'msvs_settings': { 'VCCLCompilerTool': { 'RuntimeLibrary': '2', # /MD (nondebug DLL) '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-'], }], ], }, }, '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-'], }], ], }, }, }, # Release_Base 'conditions': [ ['libchromiumcontent_component', { 'D': { 'inherit_from': ['Common_Base', 'Debug_Base'], }, # D (Debug) }, { 'R': { 'inherit_from': ['Common_Base', 'Release_Base'], }, # R (Release) }], # libchromiumcontent_component ['OS=="win"', { 'x64_Base': { 'abstract': 1, 'msvs_configuration_platform': 'x64', 'msvs_settings': { '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 }, }, }, # x64_Base }], # OS=="win" ['OS=="win" and libchromiumcontent_component==1', { 'D_x64': { 'inherit_from': ['Common_Base', 'x64_Base', 'Debug_Base'], }, # D_x64 }], # OS=="win" and libchromiumcontent_component==1 ['OS=="win" and libchromiumcontent_component==0', { 'R_x64': { 'inherit_from': ['Common_Base', 'x64_Base', 'Release_Base'], }, # R_x64 }], # OS=="win" and libchromiumcontent_component==0 ], }, 'conditions': [ ['OS!="mac"', { 'sources/': [ ['exclude', '/mac/'], ['exclude', '_mac\.(mm|h)$'], ], }, { 'sources/': [ ['exclude', '/views/'], ['exclude', '_views\.(cc|h)$'], ], }], ['OS!="win"', { 'sources/': [ ['exclude', '/win/'], ['exclude', '_win\.(cc|h)$'], ], }], ['OS=="linux"', { 'cflags_cc': [ '-D__STRICT_ANSI__', '-std=gnu++11', '-fno-rtti', '