Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(849)

Side by Side Diff: build/config/win/BUILD.gn

Issue 2331373006: Enable incremental linking in release component builds (Closed)
Patch Set: Tweak logic and add bug link Created 4 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « build/config/compiler/BUILD.gn ('k') | third_party/WebKit/Source/core/BUILD.gn » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 # Copyright (c) 2013 The Chromium Authors. All rights reserved. 1 # Copyright (c) 2013 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/clang/clang.gni") 5 import("//build/config/clang/clang.gni")
6 import("//build/config/compiler/compiler.gni") 6 import("//build/config/compiler/compiler.gni")
7 import("//build/config/sanitizers/sanitizers.gni") 7 import("//build/config/sanitizers/sanitizers.gni")
8 import("//build/config/win/visual_studio_version.gni") 8 import("//build/config/win/visual_studio_version.gni")
9 import("//build/toolchain/toolchain.gni") 9 import("//build/toolchain/toolchain.gni")
10 10
(...skipping 83 matching lines...) Expand 10 before | Expand all | Expand 10 after
94 ] 94 ]
95 } 95 }
96 96
97 # Clang runtime libraries, such as the sanitizer runtimes, live here. 97 # Clang runtime libraries, such as the sanitizer runtimes, live here.
98 lib_dirs = [ "$clang_base_path/lib/clang/$clang_version/lib/windows" ] 98 lib_dirs = [ "$clang_base_path/lib/clang/$clang_version/lib/windows" ]
99 } 99 }
100 100
101 # Ensures that the PDB file contains FIXUP information (growing the PDB file 101 # Ensures that the PDB file contains FIXUP information (growing the PDB file
102 # by about 5%) but does not otherwise alter the output binary. This 102 # by about 5%) but does not otherwise alter the output binary. This
103 # information is used by the Syzygy optimization tool when decomposing the 103 # information is used by the Syzygy optimization tool when decomposing the
104 # release image. 104 # release image. It is enabled for syzyasan builds and opportunistically for
105 if (!is_debug && !is_win_fastlink && !is_clang) { 105 # other builds where it is not prohibited (not supported when incrementally
106 # linking, using /debug:fastlink, or building with clang).
107 if (is_syzyasan ||
108 (!is_debug && !is_component_build && !is_win_fastlink && !is_clang)) {
106 ldflags = [ "/PROFILE" ] 109 ldflags = [ "/PROFILE" ]
107 } 110 }
108 111
109 # arflags apply only to static_libraries. The normal linker configs are only 112 # arflags apply only to static_libraries. The normal linker configs are only
110 # set for executable and shared library targets so arflags must be set 113 # set for executable and shared library targets so arflags must be set
111 # elsewhere. Since this is relatively contained, we just apply them in this 114 # elsewhere. Since this is relatively contained, we just apply them in this
112 # more general config and they will only have an effect on static libraries. 115 # more general config and they will only have an effect on static libraries.
113 arflags = [ 116 arflags = [
114 # "No public symbols found; archive member will be inaccessible." This 117 # "No public symbols found; archive member will be inaccessible." This
115 # means that one or more object files in the library can never be 118 # means that one or more object files in the library can never be
(...skipping 189 matching lines...) Expand 10 before | Expand all | Expand 10 after
305 } 308 }
306 config("windowed") { 309 config("windowed") {
307 ldflags = [ "/SUBSYSTEM:WINDOWS$subsystem_version_suffix" ] 310 ldflags = [ "/SUBSYSTEM:WINDOWS$subsystem_version_suffix" ]
308 } 311 }
309 312
310 # Incremental linking ---------------------------------------------------------- 313 # Incremental linking ----------------------------------------------------------
311 314
312 incremental_linking_on_switch = [ "/INCREMENTAL" ] 315 incremental_linking_on_switch = [ "/INCREMENTAL" ]
313 incremental_linking_off_switch = [ "/INCREMENTAL:NO" ] 316 incremental_linking_off_switch = [ "/INCREMENTAL:NO" ]
314 317
315 # Disable incremental linking for syzyasan 318 # Disable incremental linking for syzyasan, enable for debug builds and all
316 if (is_debug && !is_syzyasan) { 319 # component builds - any builds where performance is not job one.
320 if ((is_debug || is_component_build) && !is_syzyasan) {
317 default_incremental_linking_switch = incremental_linking_on_switch 321 default_incremental_linking_switch = incremental_linking_on_switch
318 } else { 322 } else {
319 default_incremental_linking_switch = incremental_linking_off_switch 323 default_incremental_linking_switch = incremental_linking_off_switch
320 } 324 }
321 325
322 # Applies incremental linking or not depending on the current configuration. 326 # Applies incremental linking or not depending on the current configuration.
323 config("default_incremental_linking") { 327 config("default_incremental_linking") {
324 ldflags = default_incremental_linking_switch 328 ldflags = default_incremental_linking_switch
325 } 329 }
326 330
(...skipping 65 matching lines...) Expand 10 before | Expand all | Expand 10 after
392 396
393 # Internal stuff -------------------------------------------------------------- 397 # Internal stuff --------------------------------------------------------------
394 398
395 # Config used by the MIDL template to disable warnings. 399 # Config used by the MIDL template to disable warnings.
396 config("midl_warnings") { 400 config("midl_warnings") {
397 if (is_clang) { 401 if (is_clang) {
398 # MIDL generates code like "#endif !_MIDL_USE_GUIDDEF_". 402 # MIDL generates code like "#endif !_MIDL_USE_GUIDDEF_".
399 cflags = [ "-Wno-extra-tokens" ] 403 cflags = [ "-Wno-extra-tokens" ]
400 } 404 }
401 } 405 }
OLDNEW
« no previous file with comments | « build/config/compiler/BUILD.gn ('k') | third_party/WebKit/Source/core/BUILD.gn » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698