1 # Copyright (c) 2011 The Chromium Authors. All rights reserved. 2 # Use of this source code is governed by a BSD-style license that can be 3 # found in the LICENSE file. 4 { 5 'includes': ['release_defaults.gypi'], 6 'defines': ['OFFICIAL_BUILD'], 7 'msvs_settings': { 8 'VCCLCompilerTool': { 9 'InlineFunctionExpansion': '2', 10 'EnableIntrinsicFunctions': 'true', 11 'EnableFiberSafeOptimizations': 'true', 12 'OmitFramePointers': 'false', 13 # The above is not sufficient (http://crbug.com/106711): it 14 # simply eliminates an explicit "/Oy", but both /O2 and /Ox 15 # perform FPO regardless, so we must explicitly disable. 16 # We still want the false setting above to avoid having 17 # "/Oy /Oy-" and warnings about overriding. 18 'AdditionalOptions': ['/Oy-'], 19 }, 20 'VCLibrarianTool': { 21 'AdditionalOptions': [ 22 '/ltcg', 23 '/expectedoutputsize:120000000' 24 ], 25 }, 26 'VCLinkerTool': { 27 'AdditionalOptions': [ 28 '/time', 29 # This may reduce memory fragmentation during linking. 30 # The expected size is 40*1024*1024, which gives us about 10M of 31 # headroom as of Dec 16, 2011. 32 '/expectedoutputsize:41943040', 33 ], 34 # The /PROFILE flag causes the linker to add a "FIXUP" debug stream to 35 # the generated PDB. According to MSDN documentation, this flag is only 36 # available (or perhaps supported) in the Enterprise (team development) 37 # version of Visual Studio. If this blocks your official build, simply 38 # comment out this line, then re-run "gclient runhooks". 39 'Profile': 'true', 40 }, 41 }, 42 } 43