| Index: chrome/browser/BUILD.gn
|
| diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn
|
| index 388532475c91952f7f5beda1a2527b648d08679e..2c628579c32d21c3f6a2cc94887219f782d3c8f1 100644
|
| --- a/chrome/browser/BUILD.gn
|
| +++ b/chrome/browser/BUILD.gn
|
| @@ -78,7 +78,20 @@ if (is_desktop_linux) {
|
| }
|
| }
|
|
|
| -source_set("browser") {
|
| +# Use a static library here because many test binaries depend on this but don't
|
| +# require many files from it. This makes linking more efficient. However, on
|
| +# x64 official builds the static library will be too large (> 32-bits) so use
|
| +# source sets in that case.
|
| +if (is_mac || (current_cpu == "x64" && is_official_build)) {
|
| + # TODO(brettw) bug 618797: Remove the mac condition. On Mac making this
|
| + # target a static_library causes a crash on startup and the browser_tests all
|
| + # fail. My guess is this is due to a required static initializer not being
|
| + # brought in.
|
| + chrome_browser_target_type = "source_set"
|
| +} else {
|
| + chrome_browser_target_type = "static_library"
|
| +}
|
| +target(chrome_browser_target_type, "browser") {
|
| configs += [
|
| "//build/config/compiler:wexit_time_destructors",
|
| "//build/config:precompiled_headers",
|
| @@ -1053,7 +1066,10 @@ if (is_chrome_branded) {
|
| }
|
|
|
| # In GYP this is part of test_support_common.
|
| -source_set("test_support") {
|
| +#
|
| +# Use a static library here because many test binaries depend on this but don't
|
| +# require many files from it. This makes linking more efficient.
|
| +static_library("test_support") {
|
| testonly = true
|
|
|
| # Always include this via the main test support target.
|
|
|