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/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/compiler.gni") | 8 import("//build/config/compiler/compiler.gni") |
9 import("//build/config/nacl/config.gni") | 9 import("//build/config/nacl/config.gni") |
10 import("//build/toolchain/cc_wrapper.gni") | 10 import("//build/toolchain/cc_wrapper.gni") |
(...skipping 1276 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
1287 # default config and then adding the named one you want: | 1287 # default config and then adding the named one you want: |
1288 # | 1288 # |
1289 # configs -= [ "//build/config/compiler:default_optimization" ] | 1289 # configs -= [ "//build/config/compiler:default_optimization" ] |
1290 # configs += [ "//build/config/compiler:optimize_max" ] | 1290 # configs += [ "//build/config/compiler:optimize_max" ] |
1291 | 1291 |
1292 # Shared settings for both "optimize" and "optimize_max" configs. | 1292 # Shared settings for both "optimize" and "optimize_max" configs. |
1293 # IMPORTANT: On Windows "/O1" and "/O2" must go before the common flags. | 1293 # IMPORTANT: On Windows "/O1" and "/O2" must go before the common flags. |
1294 if (is_win) { | 1294 if (is_win) { |
1295 common_optimize_on_cflags = [ | 1295 common_optimize_on_cflags = [ |
1296 "/Ob2", # Both explicit and auto inlining. | 1296 "/Ob2", # Both explicit and auto inlining. |
1297 "/Oy-", # Disable omitting frame pointers, must be after /O2. | |
1298 "/d2Zi+", # Improve debugging of optimized code. | 1297 "/d2Zi+", # Improve debugging of optimized code. |
1299 "/Zc:inline", # Remove unreferenced COMDAT (faster links). | 1298 "/Zc:inline", # Remove unreferenced COMDAT (faster links). |
1300 ] | 1299 ] |
1301 if (!is_asan) { | 1300 if (!is_asan) { |
1302 common_optimize_on_cflags += [ | 1301 common_optimize_on_cflags += [ |
1303 # Put data in separate COMDATs. This allows the linker | 1302 # Put data in separate COMDATs. This allows the linker |
1304 # to put bit-identical constants at the same address even if | 1303 # to put bit-identical constants at the same address even if |
1305 # they're unrelated constants, which saves binary size. | 1304 # they're unrelated constants, which saves binary size. |
1306 # This optimization can't be used when ASan is enabled because | 1305 # This optimization can't be used when ASan is enabled because |
1307 # it is not compatible with the ASan ODR checker. | 1306 # it is not compatible with the ASan ODR checker. |
(...skipping 69 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
1377 common_optimize_on_ldflags += [ | 1376 common_optimize_on_ldflags += [ |
1378 # Specifically tell the linker to perform optimizations. | 1377 # Specifically tell the linker to perform optimizations. |
1379 # See http://lwn.net/Articles/192624/ . | 1378 # See http://lwn.net/Articles/192624/ . |
1380 "-Wl,-O1", | 1379 "-Wl,-O1", |
1381 "-Wl,--gc-sections", | 1380 "-Wl,--gc-sections", |
1382 ] | 1381 ] |
1383 } | 1382 } |
1384 } | 1383 } |
1385 | 1384 |
1386 config("default_stack_frames") { | 1385 config("default_stack_frames") { |
1387 if (is_posix && !(is_mac || is_ios)) { | 1386 if (is_posix) { |
1388 if (using_sanitizer || enable_profiling || is_debug || | 1387 if (emit_frame_pointers_by_default) { |
Primiano Tucci (use gerrit)
2017/03/30 13:15:03
(Just some naming bikeshedding)
1. by_default
just
erikchen
2017/03/30 22:12:47
Done.
| |
1389 current_cpu == "arm64") { | |
1390 # Explicitly ask for frame pointers, otherwise: | |
1391 # * Stacks may be missing for sanitizer and profiling builds. | |
1392 # * Debug tcmalloc can crash (crbug.com/636489). | |
1393 # * Stacks may be missing for arm64 crash dumps (crbug.com/391706). | |
1394 cflags = [ "-fno-omit-frame-pointer" ] | 1388 cflags = [ "-fno-omit-frame-pointer" ] |
1395 } else if (is_android) { | 1389 } else { |
1396 cflags = [ "-fomit-frame-pointer" ] | 1390 cflags = [ "-fomit-frame-pointer" ] |
1397 } | 1391 } |
1398 } | 1392 } |
1393 | |
1394 if (is_win) { | |
1395 if (emit_frame_pointers_by_default) { | |
1396 common_optimize_on_cflags += [ "/Oy-" ] # Disable omitting frame pointers , must be after /O2. | |
1397 } else { | |
1398 common_optimize_on_cflags += [ "/Oy" ] | |
1399 } | |
1400 } | |
1399 } | 1401 } |
1400 | 1402 |
1401 # Default "optimization on" config. | 1403 # Default "optimization on" config. |
1402 config("optimize") { | 1404 config("optimize") { |
1403 if (is_win) { | 1405 if (is_win) { |
1404 # TODO(thakis): Remove is_clang here, https://crbug.com/598772 | 1406 # TODO(thakis): Remove is_clang here, https://crbug.com/598772 |
1405 if (is_official_build && full_wpo_on_official && !is_clang) { | 1407 if (is_official_build && full_wpo_on_official && !is_clang) { |
1406 common_optimize_on_cflags += [ | 1408 common_optimize_on_cflags += [ |
1407 "/GL", # Whole program optimization. | 1409 "/GL", # Whole program optimization. |
1408 | 1410 |
(...skipping 306 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
1715 | 1717 |
1716 if (is_ios || is_mac) { | 1718 if (is_ios || is_mac) { |
1717 # On Mac and iOS, this enables support for ARC (automatic ref-counting). | 1719 # On Mac and iOS, this enables support for ARC (automatic ref-counting). |
1718 # See http://clang.llvm.org/docs/AutomaticReferenceCounting.html. | 1720 # See http://clang.llvm.org/docs/AutomaticReferenceCounting.html. |
1719 config("enable_arc") { | 1721 config("enable_arc") { |
1720 common_flags = [ "-fobjc-arc" ] | 1722 common_flags = [ "-fobjc-arc" ] |
1721 cflags_objc = common_flags | 1723 cflags_objc = common_flags |
1722 cflags_objcc = common_flags | 1724 cflags_objcc = common_flags |
1723 } | 1725 } |
1724 } | 1726 } |
OLD | NEW |