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/arm.gni") | 6 import("//build/config/arm.gni") |
7 import("//build/config/chrome_build.gni") | 7 import("//build/config/chrome_build.gni") |
8 import("//build/config/chromecast_build.gni") | 8 import("//build/config/chromecast_build.gni") |
9 import("//build/config/compiler/pgo/pgo.gni") | 9 import("//build/config/compiler/pgo/pgo.gni") |
10 import("//build/config/sanitizers/sanitizers.gni") | 10 import("//build/config/sanitizers/sanitizers.gni") |
(...skipping 102 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
113 # Whether or not the official builds should be built with full WPO. Enabled by | 113 # Whether or not the official builds should be built with full WPO. Enabled by |
114 # default for the PGO and the x64 builds. | 114 # default for the PGO and the x64 builds. |
115 if (chrome_pgo_phase > 0) { | 115 if (chrome_pgo_phase > 0) { |
116 full_wpo_on_official = true | 116 full_wpo_on_official = true |
117 } else { | 117 } else { |
118 full_wpo_on_official = false | 118 full_wpo_on_official = false |
119 } | 119 } |
120 } | 120 } |
121 | 121 |
122 declare_args() { | 122 declare_args() { |
| 123 # Set to true to use lld, the LLVM linker. This flag may be used on Windows, |
| 124 # Linux or Fuchsia. |
| 125 use_lld = (is_win && host_os != "win") || is_fuchsia || |
| 126 ((allow_posix_link_time_opt || is_cfi) && target_os == "linux" && |
| 127 !is_chromeos && target_cpu == "x64") |
| 128 } |
| 129 |
| 130 declare_args() { |
123 # Whether to use the gold linker from binutils instead of lld or bfd. | 131 # Whether to use the gold linker from binutils instead of lld or bfd. |
124 use_gold = | 132 use_gold = |
125 (!use_lld && !(is_chromecast && is_linux && | 133 (!use_lld && !(is_chromecast && is_linux && |
126 (current_cpu == "arm" || current_cpu == "mipsel")) && | 134 (current_cpu == "arm" || current_cpu == "mipsel")) && |
127 (is_linux && (current_cpu == "x64" || current_cpu == "x86" || | 135 (is_linux && (current_cpu == "x64" || current_cpu == "x86" || |
128 current_cpu == "arm" || current_cpu == "mipsel"))) || | 136 current_cpu == "arm" || current_cpu == "mipsel"))) || |
129 (is_android && (current_cpu == "x86" || current_cpu == "x64" || | 137 (is_android && (current_cpu == "x86" || current_cpu == "x64" || |
130 current_cpu == "arm" || current_cpu == "arm64")) | 138 current_cpu == "arm" || current_cpu == "arm64")) |
131 } | 139 } |
132 | 140 |
(...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
172 } | 180 } |
173 | 181 |
174 # Assert that the configuration isn't going to hit https://crbug.com/648948. | 182 # Assert that the configuration isn't going to hit https://crbug.com/648948. |
175 assert(ignore_elf32_limitations || !is_android || | 183 assert(ignore_elf32_limitations || !is_android || |
176 (android_64bit_target_cpu && !build_apk_secondary_abi) || | 184 (android_64bit_target_cpu && !build_apk_secondary_abi) || |
177 is_component_build || symbol_level < 2, | 185 is_component_build || symbol_level < 2, |
178 "Android 32-bit non-component builds cannot have symbol_level=2 " + | 186 "Android 32-bit non-component builds cannot have symbol_level=2 " + |
179 "due to 4GiB file size limit, see https://crbug.com/648948. " + | 187 "due to 4GiB file size limit, see https://crbug.com/648948. " + |
180 "If you really want to try this out, " + | 188 "If you really want to try this out, " + |
181 "set ignore_elf32_limitations=true.") | 189 "set ignore_elf32_limitations=true.") |
OLD | NEW |