OLD | NEW |
1 # Copyright 2015 The Chromium Authors. All rights reserved. | 1 # Copyright 2015 The Chromium Authors. All rights reserved. |
2 # Use of this source code is governed by a BSD-style license that can be | 2 # Use of this source code is governed by a BSD-style license that can be |
3 # found in the LICENSE file. | 3 # found in the LICENSE file. |
4 | 4 |
5 import("//build/config/android/config.gni") | 5 import("//build/config/android/config.gni") |
6 import("//build/config/chrome_build.gni") | 6 import("//build/config/chrome_build.gni") |
7 import("//build/config/chromecast_build.gni") | 7 import("//build/config/chromecast_build.gni") |
| 8 import("//build/config/compiler/pgo/pgo.gni") |
8 import("//build/config/sanitizers/sanitizers.gni") | 9 import("//build/config/sanitizers/sanitizers.gni") |
9 import("//build/toolchain/goma.gni") | 10 import("//build/toolchain/goma.gni") |
10 import("//build/toolchain/toolchain.gni") | 11 import("//build/toolchain/toolchain.gni") |
11 import("//build_overrides/build.gni") | 12 import("//build_overrides/build.gni") |
12 | 13 |
13 declare_args() { | 14 declare_args() { |
14 # How many symbols to include in the build. This affects the performance of | 15 # How many symbols to include in the build. This affects the performance of |
15 # the build since the symbols are large and dealing with them is slow. | 16 # the build since the symbols are large and dealing with them is slow. |
16 # 2 means regular build with symbols. | 17 # 2 means regular build with symbols. |
17 # 1 means minimal symbols, usually enough for backtraces only. | 18 # 1 means minimal symbols, usually enough for backtraces only. |
(...skipping 15 matching lines...) Expand all Loading... |
33 # the default. This is necessary to delay the evaluation of the default | 34 # the default. This is necessary to delay the evaluation of the default |
34 # value expression until after its input values such as use_gold have | 35 # value expression until after its input values such as use_gold have |
35 # been set, e.g. by a toolchain_args() block. | 36 # been set, e.g. by a toolchain_args() block. |
36 use_debug_fission = "default" | 37 use_debug_fission = "default" |
37 | 38 |
38 # Tell VS to create a PDB that references information in .obj files rather | 39 # Tell VS to create a PDB that references information in .obj files rather |
39 # than copying it all. This should improve linker performance. mspdbcmf.exe | 40 # than copying it all. This should improve linker performance. mspdbcmf.exe |
40 # can be used to convert a fastlink pdb to a normal one. | 41 # can be used to convert a fastlink pdb to a normal one. |
41 is_win_fastlink = false | 42 is_win_fastlink = false |
42 | 43 |
43 # Specify the current PGO phase, only used for the Windows MSVS build. Here's | |
44 # the different values that can be used: | |
45 # 0 : Means that PGO is turned off. | |
46 # 1 : Used during the PGI (instrumentation) phase. | |
47 # 2 : Used during the PGO (optimization) phase. | |
48 # | |
49 # TODO(sebmarchand): Add support for the PGU (update) phase. | |
50 chrome_pgo_phase = 0 | |
51 | |
52 # Whether or not we should turn on incremental WPO. Only affects the VS | 44 # Whether or not we should turn on incremental WPO. Only affects the VS |
53 # Windows build. | 45 # Windows build. |
54 use_incremental_wpo = false | 46 use_incremental_wpo = false |
55 } | 47 } |
56 | 48 |
57 declare_args() { | 49 declare_args() { |
58 # Whether or not the official builds should be built with full WPO. Enabled by | 50 # Whether or not the official builds should be built with full WPO. Enabled by |
59 # default for the PGO and the x64 builds. | 51 # default for the PGO and the x64 builds. |
60 if (chrome_pgo_phase > 0) { | 52 if (chrome_pgo_phase > 0) { |
61 full_wpo_on_official = true | 53 full_wpo_on_official = true |
(...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
107 } | 99 } |
108 | 100 |
109 # Assert that the configuration isn't going to hit https://crbug.com/648948. | 101 # Assert that the configuration isn't going to hit https://crbug.com/648948. |
110 assert(ignore_elf32_limitations || !is_android || | 102 assert(ignore_elf32_limitations || !is_android || |
111 (android_64bit_target_cpu && !build_apk_secondary_abi) || | 103 (android_64bit_target_cpu && !build_apk_secondary_abi) || |
112 is_component_build || symbol_level < 2 || is_clang, | 104 is_component_build || symbol_level < 2 || is_clang, |
113 "Android 32-bit non-component, non-clang builds cannot have " + | 105 "Android 32-bit non-component, non-clang builds cannot have " + |
114 "symbol_level=2 due to 4GiB file size limit, see " + | 106 "symbol_level=2 due to 4GiB file size limit, see " + |
115 "https://crbug.com/648948. If you really want to try this out, " + | 107 "https://crbug.com/648948. If you really want to try this out, " + |
116 "set ignore_elf32_limitations=true.") | 108 "set ignore_elf32_limitations=true.") |
OLD | NEW |