Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 # Copyright 2016 The Chromium Authors. All rights reserved. | 1 # Copyright 2016 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 # This file should only be imported from files that define toolchains. | 5 # This file should only be imported from files that define toolchains. |
| 6 # There's no way to enforce this exactly, but all toolchains are processed | 6 # There's no way to enforce this exactly, but all toolchains are processed |
| 7 # in the context of the default_toolchain, so we can at least check for that. | 7 # in the context of the default_toolchain, so we can at least check for that. |
| 8 assert(current_toolchain == default_toolchain) | 8 assert(current_toolchain == default_toolchain) |
| 9 | 9 |
| 10 import("//build/config/sanitizers/sanitizers.gni") | 10 import("//build/config/sanitizers/sanitizers.gni") |
| 11 import("//build/toolchain/toolchain.gni") | 11 import("//build/toolchain/toolchain.gni") |
| 12 | 12 |
| 13 declare_args() { | 13 declare_args() { |
| 14 # Limit the number of concurrent links; we often want to run fewer | 14 # Limit the number of concurrent links; we often want to run fewer |
| 15 # links at once than we do compiles, because linking is memory-intensive. | 15 # links at once than we do compiles, because linking is memory-intensive. |
| 16 # The default to use varies by platform and by the amount of memory | 16 # The default to use varies by platform and by the amount of memory |
| 17 # available, so we call out to a script to get the right value. | 17 # available, so we call out to a script to get the right value. |
| 18 concurrent_links = -1 | 18 concurrent_links = -1 |
| 19 } | 19 } |
| 20 | 20 |
| 21 if (concurrent_links == -1) { | 21 if (concurrent_links == -1) { |
| 22 if (allow_posix_link_time_opt || is_cfi) { | 22 if (allow_posix_link_time_opt || is_cfi) { |
| 23 _args = [ "--lto" ] | 23 _args = [ |
| 24 "--mem_per_link_gb=24", | |
| 25 "--reserve_mem_gb=10", | |
| 26 ] | |
| 27 } else if (is_win) { | |
| 28 _args = [ "--mem_per_link_gb=5" ] | |
|
brucedawson
2016/08/22 19:31:32
The Windows memory used per linker is highly depen
boliu
2016/08/22 20:49:03
This was just intended to be a refactor, without c
| |
| 29 } else if (is_mac) { | |
| 30 _args = [ "--mem_per_link_gb=4" ] | |
| 24 } else { | 31 } else { |
| 25 _args = [] | 32 _args = [] |
| 26 } | 33 } |
| 27 | 34 |
| 28 # TODO(crbug.com/617429) Pass more build configuration info to the script | 35 # TODO(crbug.com/617429) Pass more build configuration info to the script |
| 29 # so that we can compute better values. | 36 # so that we can compute better values. |
| 30 concurrent_links = exec_script("get_concurrent_links.py", _args, "value") | 37 concurrent_links = exec_script("get_concurrent_links.py", _args, "value") |
| 31 } | 38 } |
| OLD | NEW |