# 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. { 'includes': ['release_defaults.gypi'], 'defines': ['OFFICIAL_BUILD'], 'msvs_settings': { 'VCCLCompilerTool': { 'InlineFunctionExpansion': '2', 'EnableIntrinsicFunctions': 'true', 'EnableFiberSafeOptimizations': 'true', '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-'], }, 'VCLibrarianTool': { 'AdditionalOptions': [ '/ltcg', '/expectedoutputsize:120000000' ], }, 'VCLinkerTool': { 'AdditionalOptions': [ '/time', # This may reduce memory fragmentation during linking. # The expected size is 40*1024*1024, which gives us about 10M of # headroom as of Dec 16, 2011. '/expectedoutputsize:41943040', ], 'LinkTimeCodeGeneration': '1', # The /PROFILE flag causes the linker to add a "FIXUP" debug stream to # the generated PDB. According to MSDN documentation, this flag is only # available (or perhaps supported) in the Enterprise (team development) # version of Visual Studio. If this blocks your official build, simply # comment out this line, then re-run "gclient runhooks". 'Profile': 'true', }, }, }