OLD | NEW |
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/allocator.gni") | 5 import("//build/config/allocator.gni") |
| 6 import("//build/config/build_metadata.gni") |
6 import("//build/config/chrome_build.gni") | 7 import("//build/config/chrome_build.gni") |
7 import("//build/config/chromecast_build.gni") | 8 import("//build/config/chromecast_build.gni") |
8 import("//build/config/crypto.gni") | 9 import("//build/config/crypto.gni") |
9 import("//build/config/features.gni") | 10 import("//build/config/features.gni") |
10 import("//build/config/sanitizers/sanitizers.gni") | 11 import("//build/config/sanitizers/sanitizers.gni") |
11 import("//build/config/ui.gni") | 12 import("//build/config/ui.gni") |
12 import("//build/toolchain/goma.gni") | 13 import("//build/toolchain/goma.gni") |
13 | 14 |
14 declare_args() { | 15 declare_args() { |
15 # When set (the default) enables C++ iterator debugging in debug builds. | 16 # When set (the default) enables C++ iterator debugging in debug builds. |
16 # Iterator debugging is always off in release builds (technically, this flag | 17 # Iterator debugging is always off in release builds (technically, this flag |
17 # affects the "debug" config, which is always available but applied by | 18 # affects the "debug" config, which is always available but applied by |
18 # default only in debug builds). | 19 # default only in debug builds). |
19 # | 20 # |
20 # Iterator debugging is generally useful for catching bugs. But it can | 21 # Iterator debugging is generally useful for catching bugs. But it can |
21 # introduce extra locking to check the state of an iterator against the state | 22 # introduce extra locking to check the state of an iterator against the state |
22 # of the current object. For iterator- and thread-heavy code, this can | 23 # of the current object. For iterator- and thread-heavy code, this can |
23 # significantly slow execution. | 24 # significantly slow execution. |
24 enable_iterator_debugging = true | 25 enable_iterator_debugging = true |
25 | 26 |
26 # Set to true to not store any build metadata, e.g. ifdef out all __DATE__ | |
27 # and __TIME__. Set to 0 to reenable the use of these macros in the code | |
28 # base. See http://crbug.com/314403. | |
29 # | |
30 # Continue to embed build meta data in Official builds, basically the | |
31 # time it was built. | |
32 # TODO(maruel): This decision should be revisited because having an | |
33 # official deterministic build has high value too but MSVC toolset can't | |
34 # generate anything deterministic with WPO enabled AFAIK. | |
35 dont_embed_build_metadata = !is_official_build | |
36 | |
37 # Set to true to enable dcheck in Release builds. | 27 # Set to true to enable dcheck in Release builds. |
38 dcheck_always_on = false | 28 dcheck_always_on = false |
39 } | 29 } |
40 | 30 |
41 # TODO(brettw) Most of these should be removed. Instead of global feature | 31 # TODO(brettw) Most of these should be removed. Instead of global feature |
42 # flags, we should have more modular flags that apply only to a target and its | 32 # flags, we should have more modular flags that apply only to a target and its |
43 # dependents. For example, depending on the "x11" meta-target should define | 33 # dependents. For example, depending on the "x11" meta-target should define |
44 # USE_X11 for all dependents so that everything that could use X11 gets the | 34 # USE_X11 for all dependents so that everything that could use X11 gets the |
45 # define, but anything that doesn't depend on X11 doesn't see it. | 35 # define, but anything that doesn't depend on X11 doesn't see it. |
46 # | 36 # |
(...skipping 428 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
475 # This error doesn't happen every time. In VS2013, it seems if the .pch | 465 # This error doesn't happen every time. In VS2013, it seems if the .pch |
476 # file doesn't exist, no error will be generated (probably MS tested this | 466 # file doesn't exist, no error will be generated (probably MS tested this |
477 # case but forgot the other one?). To reproduce this error, do a build, | 467 # case but forgot the other one?). To reproduce this error, do a build, |
478 # then delete the precompile.c.obj file, then build again. | 468 # then delete the precompile.c.obj file, then build again. |
479 cflags_c = [ "/wd4206" ] | 469 cflags_c = [ "/wd4206" ] |
480 } else if (is_mac && !is_official_build && !use_goma) { | 470 } else if (is_mac && !is_official_build && !use_goma) { |
481 precompiled_header = "build/precompile.h" | 471 precompiled_header = "build/precompile.h" |
482 precompiled_source = "//build/precompile.h" | 472 precompiled_source = "//build/precompile.h" |
483 } | 473 } |
484 } | 474 } |
OLD | NEW |