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