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