Chromium Code Reviews| Index: chrome/chrome_pgo.gypi |
| diff --git a/chrome/chrome_pgo.gypi b/chrome/chrome_pgo.gypi |
| new file mode 100644 |
| index 0000000000000000000000000000000000000000..0fb90b416c20153cc3044a051f2a24f9618676a1 |
| --- /dev/null |
| +++ b/chrome/chrome_pgo.gypi |
| @@ -0,0 +1,73 @@ |
| +# Copyright (c) 2014 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. |
| +{ |
| + 'conditions': [ |
| + ['OS=="win"', { |
| + 'targets': [ |
| + # In the PGO (Profile-Guided Optimization) build flow, we need to |
| + # build the target binary multiple times. To implement this flow with |
| + # gyp, here we define multiple targets, each of which represents one |
| + # build particular build/profile stage. |
| + { |
| + 'target_name': 'chrome_pgo_main', |
| + 'type': 'none', |
|
yukawa
2014/03/07 05:25:22
Does this really work? The 'type' is 'none' here.
|
| + 'dependencies': [ 'chrome_main_dll', ], |
| + 'msvs_settings': { |
| + 'VCCLCompilerTool': { |
| + 'WholeProgramOptimization': 'true', # /GL |
| + }, |
| + 'VCLibrarianTool': { |
| + 'LinkTimeCodeGeneration': 'true', |
| + }, |
| + }, |
| + 'link_settings': { |
| + 'msvs_settings': { |
| + 'VCLinkerTool': { |
| + # Tell ninja generator not to pass /ManifestFile:<filename> |
|
yukawa
2014/03/07 05:25:22
You might be able to drop this hack. I added this
|
| + # option to the linker, because it causes LNK1268 error in PGO |
| + # build. |
| + 'GenerateManifest': 'false', |
| + }, |
| + }, |
| + }, |
| + }, { |
| + 'target_name': 'chrome_pgo_instrument', |
| + 'type': 'none', |
| + 'msvs_settings': { |
| + 'VCLinkerTool': { |
| + 'LinkTimeCodeGeneration': '2', |
| + }, |
| + }, |
| + 'dependencies': [ |
| + 'chrome_pgo_main', |
| + ], |
| + }, { |
| + 'target_name': 'chrome_pgo_optimize', |
| + 'type': 'none', |
| + 'msvs_settings': { |
| + 'VCLinkerTool': { |
| + 'LinkTimeCodeGeneration': '3', |
| + }, |
| + }, |
| + 'dependencies': [ |
| + # TODO(sebmarchand): Add a target that run some profile test cases. |
| + 'chrome_pgo_instrument', |
| + 'chrome_pgo_main', |
| + ], |
| + }, { |
| + 'target_name': 'chrome_pgo_update', |
| + 'type': 'none', |
| + 'msvs_settings': { |
| + 'VCLinkerTool': { |
| + 'LinkTimeCodeGeneration': '4', |
| + }, |
| + }, |
| + 'dependencies': [ |
| + 'chrome_pgo_main', |
| + ], |
| + }, |
| + ], |
| + }], |
| + ], |
| +} |