summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorbrettw <brettw@chromium.org>2015-07-27 12:45:25 -0700
committerCommit bot <commit-bot@chromium.org>2015-07-27 19:46:54 +0000
commit8f3218985dde74063ccc362da47803be163f3165 (patch)
tree177bd60384bfb8dc03fe439e82ff6f6061fdf59a
parent258deb0a1977629e17c135a03080061ef9d1535b (diff)
downloadchromium_src-8f3218985dde74063ccc362da47803be163f3165.zip
chromium_src-8f3218985dde74063ccc362da47803be163f3165.tar.gz
chromium_src-8f3218985dde74063ccc362da47803be163f3165.tar.bz2
Add precompiled headers to GN build for large targets.
Turns on precompiled header support in the GN build on Windows, and adds the precompiled header config to most large-ish targets in the build. Removes Windows files from the precompiled header. This does not seem to affect the build speed much because most Chrome files don't depend on Windows any more. And windows.h injects typedefs and defines that conflict with some third party libraries and prevent using precompiled headers for those targets or any target that includes them. I counted ~50 files or bigger as large. The 50 file threshold is based on some previous approximate measurements (since the precompile step is an extra per-target compile, it can actually make small targets compile slower). For borderline cases, I added the precompiled header flag if I thought it was likely to have more files added, and didn't add it if I thought the target was likely to be static. CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel Review URL: https://codereview.chromium.org/1250273002 Cr-Commit-Position: refs/heads/master@{#340535}
-rw-r--r--ash/BUILD.gn5
-rw-r--r--base/BUILD.gn5
-rw-r--r--base/test/BUILD.gn2
-rw-r--r--build/config/BUILD.gn4
-rw-r--r--build/config/compiler/BUILD.gn6
-rw-r--r--build/json_schema_api.gni6
-rw-r--r--build/precompile.h86
-rw-r--r--build/toolchain/win/BUILD.gn8
-rw-r--r--cc/BUILD.gn4
-rw-r--r--chrome/browser/BUILD.gn3
-rw-r--r--chrome/browser/devtools/BUILD.gn1
-rw-r--r--chrome/browser/extensions/BUILD.gn1
-rw-r--r--chrome/browser/ui/BUILD.gn1
-rw-r--r--chrome/common/BUILD.gn5
-rw-r--r--chrome/common/extensions/api/BUILD.gn2
-rw-r--r--chrome/installer/util/BUILD.gn8
-rw-r--r--chrome/test/BUILD.gn6
-rw-r--r--chrome/utility/BUILD.gn1
-rw-r--r--components/autofill/core/browser/BUILD.gn2
-rw-r--r--components/policy/core/common/BUILD.gn2
-rw-r--r--content/browser/BUILD.gn1
-rw-r--r--content/child/BUILD.gn2
-rw-r--r--content/common/BUILD.gn1
-rw-r--r--content/public/browser/BUILD.gn5
-rw-r--r--content/public/common/BUILD.gn5
-rw-r--r--content/shell/BUILD.gn8
-rw-r--r--content/test/BUILD.gn9
-rw-r--r--extensions/BUILD.gn2
-rw-r--r--extensions/browser/BUILD.gn8
-rw-r--r--extensions/common/BUILD.gn8
-rw-r--r--extensions/renderer/BUILD.gn8
-rw-r--r--gpu/BUILD.gn7
-rw-r--r--gpu/command_buffer/service/BUILD.gn1
-rw-r--r--media/BUILD.gn1
-rw-r--r--media/base/BUILD.gn1
-rw-r--r--net/BUILD.gn24
-rw-r--r--ppapi/BUILD.gn1
-rw-r--r--ppapi/cpp/BUILD.gn1
-rw-r--r--ppapi/proxy/BUILD.gn5
-rw-r--r--ppapi/shared_impl/BUILD.gn1
-rw-r--r--ppapi/thunk/BUILD.gn1
-rw-r--r--remoting/protocol/BUILD.gn1
-rw-r--r--sandbox/win/BUILD.gn2
-rw-r--r--skia/BUILD.gn1
-rw-r--r--storage/browser/BUILD.gn2
-rw-r--r--sync/BUILD.gn4
-rw-r--r--ui/gfx/BUILD.gn8
-rw-r--r--ui/gl/BUILD.gn1
-rw-r--r--ui/message_center/BUILD.gn8
-rw-r--r--ui/views/BUILD.gn10
-rw-r--r--ui/wm/BUILD.gn1
51 files changed, 188 insertions, 108 deletions
diff --git a/ash/BUILD.gn b/ash/BUILD.gn
index b710cf5..9a10e27 100644
--- a/ash/BUILD.gn
+++ b/ash/BUILD.gn
@@ -14,6 +14,7 @@ gypi_values = exec_script("//build/gypi_to_gn.py",
component("ash") {
sources = gypi_values.ash_sources
+ configs += [ "//build/config:precompiled_headers" ]
defines = [ "ASH_IMPLEMENTATION" ]
public_deps = [
@@ -173,9 +174,10 @@ component("ash_with_content") {
]
}
-static_library("test_support") {
+source_set("test_support") {
testonly = true
sources = gypi_values.ash_test_support_sources
+ configs += [ "//build/config:precompiled_headers" ]
public_deps = [
":ash",
@@ -251,6 +253,7 @@ static_library("ash_shell_lib") {
test("ash_unittests") {
sources = gypi_values.ash_unittests_sources
+ configs += [ "//build/config:precompiled_headers" ]
deps = [
":ash",
diff --git a/base/BUILD.gn b/base/BUILD.gn
index 23cc60f..6eac22e 100644
--- a/base/BUILD.gn
+++ b/base/BUILD.gn
@@ -645,7 +645,10 @@ component("base") {
data = []
- configs += [ ":base_implementation" ]
+ configs += [
+ ":base_implementation",
+ "//build/config:precompiled_headers",
+ ]
deps = [
":base_static",
diff --git a/base/test/BUILD.gn b/base/test/BUILD.gn
index 127ec82..39eea78 100644
--- a/base/test/BUILD.gn
+++ b/base/test/BUILD.gn
@@ -124,6 +124,8 @@ source_set("test_support") {
"values_test_util.h",
]
+ configs += [ "//build/config:precompiled_headers" ]
+
data = [
# The isolate needs this script for setting up the test. It's not actually
# needed to run this target locally.
diff --git a/build/config/BUILD.gn b/build/config/BUILD.gn
index 56a86e5..618de26 100644
--- a/build/config/BUILD.gn
+++ b/build/config/BUILD.gn
@@ -418,9 +418,7 @@ config("default_libs") {
#
# Recommend precompiled headers for targets with more than 50 .cc files.
config("precompiled_headers") {
- # TODO(brettw) enable this when GN support in the binary has been rolled.
- #if (is_win) {
- if (false) {
+ if (is_win) {
# This is a string rather than a file GN knows about. It has to match
# exactly what's in the /FI flag below, and what might appear in the source
# code in quotes for an #include directive.
diff --git a/build/config/compiler/BUILD.gn b/build/config/compiler/BUILD.gn
index 4cc958c..4b3c264 100644
--- a/build/config/compiler/BUILD.gn
+++ b/build/config/compiler/BUILD.gn
@@ -108,6 +108,12 @@ config("compiler") {
"/FS", # Preserve previous PDB behavior.
]
+ # Force C/C++ mode for the given GN detected file type. This is necessary
+ # for precompiled headers where the same source file is compiled in both
+ # modes.
+ cflags_c += [ "/TC" ]
+ cflags_cc += [ "/TP" ]
+
# Building with Clang on Windows is a work in progress and very
# experimental. See crbug.com/82385.
# Keep this in sync with the similar block in build/common.gypi
diff --git a/build/json_schema_api.gni b/build/json_schema_api.gni
index a2f308f..24867d1 100644
--- a/build/json_schema_api.gni
+++ b/build/json_schema_api.gni
@@ -47,6 +47,9 @@
# A list of schema files which should not be compiled, but which should still
# be processed for API bundle generation.
#
+# configs [optional]
+# Extra configs to apply to the compile step.
+#
# deps [optional]
# If any deps are specified they will be inherited by the static library
# target.
@@ -198,6 +201,9 @@ template("json_schema_api") {
lib_deps = []
lib_public_deps = []
lib_extra_configs = []
+ if (defined(invoker.configs)) {
+ lib_extra_configs += invoker.configs
+ }
if (schemas) {
lib_sources += get_target_outputs(":$schema_generator_name")
diff --git a/build/precompile.h b/build/precompile.h
index 32c2f11..50a9b87 100644
--- a/build/precompile.h
+++ b/build/precompile.h
@@ -2,17 +2,8 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
-// Precompiled header for Chromium project on Windows, not used by
-// other build configurations. Using precompiled headers speeds the
-// build up significantly, around 1/4th on VS 2010 on an HP Z600 with 12
-// GB of memory.
-//
-// Numeric comments beside includes are the number of times they were
-// included under src/chrome/browser on 2011/8/20, which was used as a
-// baseline for deciding what to include in the PCH. Includes without
-// a numeric comment are generally included at least 5 times. It may
-// be possible to tweak the speed of the build by commenting out or
-// removing some of the less frequently used headers.
+// This file is used as a precompiled header for both C and C++ files. So
+// any C++ headers must go in the __cplusplus block below.
#if defined(BUILD_PRECOMPILE_H_)
#error You shouldn't include the precompiled header file more than once.
@@ -22,83 +13,38 @@
#define _USE_MATH_DEFINES
-// The Windows header needs to come before almost all the other
-// Windows-specific headers.
-#include <Windows.h>
-#include <dwmapi.h>
-#include <shellapi.h>
-#include <wtypes.h> // 2
-
-// Defines in atlbase.h cause conflicts; if we could figure out how
-// this family of headers can be included in the PCH, it might speed
-// up the build as several of them are used frequently.
-/*
-#include <atlbase.h>
-#include <atlapp.h>
-#include <atlcom.h>
-#include <atlcrack.h> // 2
-#include <atlctrls.h> // 2
-#include <atlmisc.h> // 2
-#include <atlsafe.h> // 1
-#include <atltheme.h> // 1
-#include <atlwin.h> // 2
-*/
-
-// Objbase.h and other files that rely on it bring in [ #define
-// interface struct ] which can cause problems in a multi-platform
-// build like Chrome's. #undef-ing it does not work as there are
-// currently 118 targets that break if we do this, so leaving out of
-// the precompiled header for now.
-//#include <commctrl.h> // 2
-//#include <commdlg.h> // 3
-//#include <cryptuiapi.h> // 2
-//#include <Objbase.h> // 2
-//#include <objidl.h> // 1
-//#include <ole2.h> // 1
-//#include <oleacc.h> // 2
-//#include <oleauto.h> // 1
-//#include <oleidl.h> // 1
-//#include <propkey.h> // 2
-//#include <propvarutil.h> // 2
-//#include <pstore.h> // 2
-//#include <shlguid.h> // 1
-//#include <shlwapi.h> // 1
-//#include <shobjidl.h> // 4
-//#include <urlhist.h> // 2
-
-// Caused other conflicts in addition to the 'interface' issue above.
-// #include <shlobj.h>
-
#include <errno.h>
#include <fcntl.h>
-#include <limits.h> // 4
+#include <limits.h>
#include <math.h>
-#include <memory.h> // 1
+#include <memory.h>
#include <signal.h>
-#include <stdarg.h> // 1
+#include <stdarg.h>
#include <stddef.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
-#include <time.h> // 4
+#include <time.h>
+
+#if defined(__cplusplus)
#include <algorithm>
-#include <bitset> // 3
+#include <bitset>
#include <cmath>
#include <cstddef>
-#include <cstdio> // 3
-#include <cstdlib> // 2
+#include <cstdio>
+#include <cstdlib>
#include <cstring>
#include <deque>
-#include <fstream> // 3
+#include <fstream>
#include <functional>
-#include <iomanip> // 2
-#include <iosfwd> // 2
+#include <iomanip>
+#include <iosfwd>
#include <iterator>
#include <limits>
#include <list>
#include <map>
-#include <numeric> // 2
+#include <numeric>
#include <ostream>
#include <queue>
#include <set>
@@ -107,3 +53,5 @@
#include <string>
#include <utility>
#include <vector>
+
+#endif // __cplusplus
diff --git a/build/toolchain/win/BUILD.gn b/build/toolchain/win/BUILD.gn
index 454cdde..1ac3623 100644
--- a/build/toolchain/win/BUILD.gn
+++ b/build/toolchain/win/BUILD.gn
@@ -80,9 +80,7 @@ template("msvc_toolchain") {
tool("cc") {
rspfile = "{{output}}.rsp"
-
- # TODO(brettw) enable this when GN support in the binary has been rolled.
- #precompiled_header_type = "msvc"
+ precompiled_header_type = "msvc"
pdbname = "{{target_out_dir}}/{{target_output_name}}_c.pdb"
command = "ninja -t msvc -e $env -- $cl /nologo /showIncludes /FC @$rspfile /c {{source}} /Fo{{output}} /Fd$pdbname"
depsformat = "msvc"
@@ -95,9 +93,7 @@ template("msvc_toolchain") {
tool("cxx") {
rspfile = "{{output}}.rsp"
-
- # TODO(brettw) enable this when GN support in the binary has been rolled.
- #precompiled_header_type = "msvc"
+ precompiled_header_type = "msvc"
# The PDB name needs to be different between C and C++ compiled files.
pdbname = "{{target_out_dir}}/{{target_output_name}}_cc.pdb"
diff --git a/cc/BUILD.gn b/cc/BUILD.gn
index 67daed5..c4cdb2d 100644
--- a/cc/BUILD.gn
+++ b/cc/BUILD.gn
@@ -509,6 +509,8 @@ component("cc") {
]
}
+ configs += [ "//build/config:precompiled_headers" ]
+
public_deps = [
"//cc/base",
"//skia",
@@ -662,6 +664,7 @@ source_set("test_support") {
"test/test_web_graphics_context_3d.h",
]
+ configs += [ "//build/config:precompiled_headers" ]
include_dirs = [
".",
"test",
@@ -845,6 +848,7 @@ test("cc_unittests") {
"test/run_all_unittests.cc",
]
+ configs += [ "//build/config:precompiled_headers" ]
data = [
"test/data/",
]
diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn
index 7ddc938..1343cb6 100644
--- a/chrome/browser/BUILD.gn
+++ b/chrome/browser/BUILD.gn
@@ -60,6 +60,7 @@ if (is_desktop_linux) {
source_set("browser") {
configs += [
"//build/config/compiler:wexit_time_destructors",
+ "//build/config:precompiled_headers",
"//third_party/WebKit/public:debug_devtools",
]
defines = []
@@ -1035,6 +1036,8 @@ source_set("test_support") {
"ui/webui/signin/login_ui_test_utils.h",
]
+ configs += [ "//build/config:precompiled_headers" ]
+
public_deps = [
":browser",
"//chrome/browser/ui:test_support",
diff --git a/chrome/browser/devtools/BUILD.gn b/chrome/browser/devtools/BUILD.gn
index 7b4e203..976801b 100644
--- a/chrome/browser/devtools/BUILD.gn
+++ b/chrome/browser/devtools/BUILD.gn
@@ -52,6 +52,7 @@ static_library("devtools") {
configs += [
"//build/config/compiler:no_size_t_to_int_warning",
"//build/config/compiler:wexit_time_destructors",
+ "//build/config:precompiled_headers",
"//third_party/WebKit/public:debug_devtools",
]
diff --git a/chrome/browser/extensions/BUILD.gn b/chrome/browser/extensions/BUILD.gn
index 61bb6de..0acb058 100644
--- a/chrome/browser/extensions/BUILD.gn
+++ b/chrome/browser/extensions/BUILD.gn
@@ -21,6 +21,7 @@ source_set("extensions") {
".",
"//chrome")
+ configs += [ "//build/config:precompiled_headers" ]
defines = []
# Since browser and browser_extensions actually depend on each other,
diff --git a/chrome/browser/ui/BUILD.gn b/chrome/browser/ui/BUILD.gn
index 186b135..e13e575 100644
--- a/chrome/browser/ui/BUILD.gn
+++ b/chrome/browser/ui/BUILD.gn
@@ -19,6 +19,7 @@ source_set("ui") {
libs = []
configs += [
+ "//build/config:precompiled_headers",
"//build/config/compiler:wexit_time_destructors",
"//third_party/WebKit/public:debug_devtools",
]
diff --git a/chrome/common/BUILD.gn b/chrome/common/BUILD.gn
index fc85ced..21ab88e 100644
--- a/chrome/common/BUILD.gn
+++ b/chrome/common/BUILD.gn
@@ -40,7 +40,10 @@ static_library("common") {
sources = rebase_path(gypi_values.chrome_common_sources, ".", "//chrome")
defines = []
- configs += [ "//build/config/compiler:wexit_time_destructors" ]
+ configs += [
+ "//build/config:precompiled_headers",
+ "//build/config/compiler:wexit_time_destructors",
+ ]
public_deps = [
"//chrome/common:constants",
diff --git a/chrome/common/extensions/api/BUILD.gn b/chrome/common/extensions/api/BUILD.gn
index 435a2ef..026b678 100644
--- a/chrome/common/extensions/api/BUILD.gn
+++ b/chrome/common/extensions/api/BUILD.gn
@@ -11,6 +11,7 @@ assert(enable_extensions)
json_schema_api("api") {
schemas = true
bundle = true
+ configs = [ "//build/config:precompiled_headers" ]
bundle_name = "Chrome"
deps = schema_dependencies
@@ -20,6 +21,7 @@ json_schema_api("api") {
json_schema_api("api_registration") {
impl_dir = "//chrome/browser/extensions/api"
bundle_registration = true
+ configs = [ "//build/config:precompiled_headers" ]
bundle_name = "Chrome"
deps = [
diff --git a/chrome/installer/util/BUILD.gn b/chrome/installer/util/BUILD.gn
index e21ff8c..ceedefd 100644
--- a/chrome/installer/util/BUILD.gn
+++ b/chrome/installer/util/BUILD.gn
@@ -68,8 +68,12 @@ static_library("util") {
"//third_party/lzma_sdk",
]
- # TODO(jschuh): crbug.com/167187 fix size_t to int truncations.
- configs += [ "//build/config/compiler:no_size_t_to_int_warning" ]
+ configs += [
+ "//build/config:precompiled_headers",
+
+ # TODO(jschuh): crbug.com/167187 fix size_t to int truncations.
+ "//build/config/compiler:no_size_t_to_int_warning",
+ ]
# TODO(GYP) hook up corresponding version of installer_util_nacl_win64 in GN
sources += [
diff --git a/chrome/test/BUILD.gn b/chrome/test/BUILD.gn
index 735c8da..754fd1e 100644
--- a/chrome/test/BUILD.gn
+++ b/chrome/test/BUILD.gn
@@ -84,6 +84,8 @@ source_set("test_support") {
"logging/win/test_log_collector.h",
]
+ configs += [ "//build/config:precompiled_headers" ]
+
# New deps should go in the non-iOS section below.
public_deps = [
"//content/test:test_support",
@@ -228,6 +230,7 @@ if (!is_android) {
".",
"//chrome")
+ configs += [ "//build/config:precompiled_headers" ]
defines = [ "HAS_OUT_OF_PROC_TEST_RUNNER" ]
ldflags = []
@@ -547,6 +550,8 @@ if (!is_android) {
".",
"//chrome")
+ configs += [ "//build/config:precompiled_headers" ]
+
deps = [
":browser_tests_js_webui",
":sync_integration_test_support",
@@ -1154,6 +1159,7 @@ if (!is_android) {
".",
"//chrome")
+ configs += [ "//build/config:precompiled_headers" ]
defines = []
deps = [
diff --git a/chrome/utility/BUILD.gn b/chrome/utility/BUILD.gn
index ead790a..edcf002 100644
--- a/chrome/utility/BUILD.gn
+++ b/chrome/utility/BUILD.gn
@@ -13,6 +13,7 @@ gypi_values = exec_script("//build/gypi_to_gn.py",
static_library("utility") {
sources = rebase_path(gypi_values.chrome_utility_sources, ".", "..")
defines = []
+ configs += [ "//build/config:precompiled_headers" ]
public_deps = []
deps = [
diff --git a/components/autofill/core/browser/BUILD.gn b/components/autofill/core/browser/BUILD.gn
index 143aebe..80a78ee 100644
--- a/components/autofill/core/browser/BUILD.gn
+++ b/components/autofill/core/browser/BUILD.gn
@@ -136,6 +136,8 @@ static_library("browser") {
"webdata/autofill_webdata_service_observer.h",
]
+ configs += [ "//build/config:precompiled_headers" ]
+
deps = [
"//base",
"//base:i18n",
diff --git a/components/policy/core/common/BUILD.gn b/components/policy/core/common/BUILD.gn
index dc931e6..c6cce1b 100644
--- a/components/policy/core/common/BUILD.gn
+++ b/components/policy/core/common/BUILD.gn
@@ -126,6 +126,8 @@ source_set("common") {
"schema_registry_tracking_policy_provider.h",
]
+ configs += [ "//build/config:precompiled_headers" ]
+
deps = [
"//base:prefs",
"//base/third_party/dynamic_annotations",
diff --git a/content/browser/BUILD.gn b/content/browser/BUILD.gn
index 2b5c7c2..fd917b3 100644
--- a/content/browser/BUILD.gn
+++ b/content/browser/BUILD.gn
@@ -13,6 +13,7 @@ source_set("browser") {
# internal content ones) should depend on the public one.
visibility = [ "//content/public/browser:browser_sources" ]
+ configs += [ "//build/config:precompiled_headers" ]
defines = []
libs = []
ldflags = []
diff --git a/content/child/BUILD.gn b/content/child/BUILD.gn
index b2e978a..9698873 100644
--- a/content/child/BUILD.gn
+++ b/content/child/BUILD.gn
@@ -16,6 +16,8 @@ source_set("child") {
".",
"//content")
+ configs += [ "//build/config:precompiled_headers" ]
+
public_deps = [
"//third_party/mojo/src/mojo/edk/system",
]
diff --git a/content/common/BUILD.gn b/content/common/BUILD.gn
index aec3607..1f40c1a 100644
--- a/content/common/BUILD.gn
+++ b/content/common/BUILD.gn
@@ -132,6 +132,7 @@ source_set("common") {
configs += [
"//content:content_implementation",
+ "//build/config:precompiled_headers",
"//build/config/compiler:no_size_t_to_int_warning",
]
diff --git a/content/public/browser/BUILD.gn b/content/public/browser/BUILD.gn
index ebe488e..5319c05 100644
--- a/content/public/browser/BUILD.gn
+++ b/content/public/browser/BUILD.gn
@@ -43,7 +43,10 @@ source_set("browser_sources") {
sources -= [ "context_factory.h" ]
}
- configs += [ "//content:content_implementation" ]
+ configs += [
+ "//build/config:precompiled_headers",
+ "//content:content_implementation",
+ ]
public_deps = [
"//content/public/common:mojo_bindings",
diff --git a/content/public/common/BUILD.gn b/content/public/common/BUILD.gn
index 3ae9297..ade86a2 100644
--- a/content/public/common/BUILD.gn
+++ b/content/public/common/BUILD.gn
@@ -34,7 +34,10 @@ source_set("common_sources") {
".",
"//content")
- configs += [ "//content:content_implementation" ]
+ configs += [
+ "//build/config:precompiled_headers",
+ "//content:content_implementation",
+ ]
public_deps = [
"//content/common",
diff --git a/content/shell/BUILD.gn b/content/shell/BUILD.gn
index 661b33b..d5b4c1e 100644
--- a/content/shell/BUILD.gn
+++ b/content/shell/BUILD.gn
@@ -173,8 +173,12 @@ static_library("content_shell_lib") {
"utility/shell_content_utility_client.h",
]
- # TODO(jschuh): crbug.com/167187 fix size_t to int truncations.
- configs += [ "//build/config/compiler:no_size_t_to_int_warning" ]
+ configs += [
+ "//build/config:precompiled_headers",
+
+ # TODO(jschuh): crbug.com/167187 fix size_t to int truncations.
+ "//build/config/compiler:no_size_t_to_int_warning",
+ ]
defines = [ "CONTENT_SHELL_VERSION=\"$content_shell_version\"" ]
diff --git a/content/test/BUILD.gn b/content/test/BUILD.gn
index 0dbffbd..23c600c 100644
--- a/content/test/BUILD.gn
+++ b/content/test/BUILD.gn
@@ -22,6 +22,7 @@ content_tests_gypi_values =
# GYP version //content/content_tests.gypi:test_support_content
source_set("test_support") {
testonly = true
+ configs += [ "//build/config:precompiled_headers" ]
public_deps = [
"//content/public/app:both",
"//content/public/browser",
@@ -268,7 +269,10 @@ if (!is_mac) {
defines = [ "HAS_OUT_OF_PROC_TEST_RUNNER" ]
- configs += [ "//build/config/compiler:no_size_t_to_int_warning" ]
+ configs += [
+ "//build/config:precompiled_headers",
+ "//build/config/compiler:no_size_t_to_int_warning",
+ ]
deps = [
":browsertest_support",
@@ -427,6 +431,9 @@ test("content_unittests") {
sources = rebase_path(content_tests_gypi_values.content_unittests_sources,
".",
"//content")
+
+ configs += [ "//build/config:precompiled_headers" ]
+
deps = [
":test_support",
"//base/allocator",
diff --git a/extensions/BUILD.gn b/extensions/BUILD.gn
index d64840d..fca8f94 100644
--- a/extensions/BUILD.gn
+++ b/extensions/BUILD.gn
@@ -148,6 +148,8 @@ test("extensions_unittests") {
"shell/browser/shell_display_info_provider.cc",
]
+ configs += [ "//build/config:precompiled_headers" ]
+
deps = [
":extensions_resources",
":shell_and_test_pak",
diff --git a/extensions/browser/BUILD.gn b/extensions/browser/BUILD.gn
index d9c62bb..29791b4 100644
--- a/extensions/browser/BUILD.gn
+++ b/extensions/browser/BUILD.gn
@@ -31,8 +31,12 @@ source_set("browser") {
"//third_party/re2",
]
- # TODO(jschuh): crbug.com/167187 fix size_t to int truncations.
- configs += [ "//build/config/compiler:no_size_t_to_int_warning" ]
+ configs += [
+ "//build/config:precompiled_headers",
+
+ # TODO(jschuh): crbug.com/167187 fix size_t to int truncations.
+ "//build/config/compiler:no_size_t_to_int_warning",
+ ]
if (enable_extensions) {
# Includes all API implementations and the ExtensionsApiClient
diff --git a/extensions/common/BUILD.gn b/extensions/common/BUILD.gn
index 03e194c..c76d9b1 100644
--- a/extensions/common/BUILD.gn
+++ b/extensions/common/BUILD.gn
@@ -34,8 +34,12 @@ if (enable_extensions) {
".",
"//extensions")
- # TODO(jschuh): crbug.com/167187 fix size_t to int truncations.
- configs += [ "//build/config/compiler:no_size_t_to_int_warning" ]
+ configs += [
+ "//build/config:precompiled_headers",
+
+ # TODO(jschuh): crbug.com/167187 fix size_t to int truncations.
+ "//build/config/compiler:no_size_t_to_int_warning",
+ ]
deps = [
":common_constants",
diff --git a/extensions/renderer/BUILD.gn b/extensions/renderer/BUILD.gn
index 688148e..ee300ca 100644
--- a/extensions/renderer/BUILD.gn
+++ b/extensions/renderer/BUILD.gn
@@ -13,8 +13,12 @@ source_set("renderer") {
".",
"//extensions")
- # TODO(jschuh): crbug.com/167187 fix size_t to int truncations.
- configs += [ "//build/config/compiler:no_size_t_to_int_warning" ]
+ configs += [
+ "//build/config:precompiled_headers",
+
+ # TODO(jschuh): crbug.com/167187 fix size_t to int truncations.
+ "//build/config/compiler:no_size_t_to_int_warning",
+ ]
deps = [
"//chrome:resources",
diff --git a/gpu/BUILD.gn b/gpu/BUILD.gn
index 214dade..7748abab 100644
--- a/gpu/BUILD.gn
+++ b/gpu/BUILD.gn
@@ -231,7 +231,12 @@ test("gpu_unittests") {
"config/gpu_util_unittest.cc",
]
- configs += [ "//build/config/compiler:no_size_t_to_int_warning" ]
+ configs += [
+ "//build/config:precompiled_headers",
+
+ # TODO(jschuh): crbug.com/167187 fix size_t to int truncations.
+ "//build/config/compiler:no_size_t_to_int_warning",
+ ]
deps = [
":gpu",
diff --git a/gpu/command_buffer/service/BUILD.gn b/gpu/command_buffer/service/BUILD.gn
index 62fce76..6749c01 100644
--- a/gpu/command_buffer/service/BUILD.gn
+++ b/gpu/command_buffer/service/BUILD.gn
@@ -135,6 +135,7 @@ source_set("service_sources") {
]
configs += [
+ "//build/config:precompiled_headers",
"//gpu:gpu_implementation",
"//third_party/khronos:khronos_headers",
]
diff --git a/media/BUILD.gn b/media/BUILD.gn
index 52935a6..98250f2 100644
--- a/media/BUILD.gn
+++ b/media/BUILD.gn
@@ -275,6 +275,7 @@ component("media") {
configs += [
":media_config",
":media_implementation",
+ "//build/config:precompiled_headers",
# TODO(wolenetz): Fix size_t to int trunctaion in win64.
# See http://crbug.com/171009
diff --git a/media/base/BUILD.gn b/media/base/BUILD.gn
index 5088339..bedc24f 100644
--- a/media/base/BUILD.gn
+++ b/media/base/BUILD.gn
@@ -210,6 +210,7 @@ source_set("base") {
configs += [
# This target uses the ALLOCATOR_SHIM define.
"//base/allocator:allocator_shim_define",
+ "//build/config:precompiled_headers",
"//media:media_config",
"//media:media_implementation",
]
diff --git a/net/BUILD.gn b/net/BUILD.gn
index ab8f1fe..7e2be2c 100644
--- a/net/BUILD.gn
+++ b/net/BUILD.gn
@@ -78,8 +78,12 @@ component("net") {
"NET_IMPLEMENTATION",
]
- # TODO(jschuh): crbug.com/167187 fix size_t to int truncations.
- configs += [ "//build/config/compiler:no_size_t_to_int_warning" ]
+ configs += [
+ "//build/config:precompiled_headers",
+
+ # TODO(jschuh): crbug.com/167187 fix size_t to int truncations.
+ "//build/config/compiler:no_size_t_to_int_warning",
+ ]
public_configs = [ ":net_config" ]
include_dirs = []
@@ -688,8 +692,12 @@ source_set("test_support") {
"url_request/url_request_test_util.h",
]
- # TODO(jschuh): crbug.com/167187 fix size_t to int truncations.
- configs += [ "//build/config/compiler:no_size_t_to_int_warning" ]
+ configs += [
+ "//build/config:precompiled_headers",
+
+ # TODO(jschuh): crbug.com/167187 fix size_t to int truncations.
+ "//build/config/compiler:no_size_t_to_int_warning",
+ ]
public_deps = [
"//base",
@@ -1308,8 +1316,12 @@ if (!is_mac) {
test("net_unittests") {
sources = gypi_values.net_test_sources
- # TODO(jschuh): crbug.com/167187 fix size_t to int truncations.
- configs += [ "//build/config/compiler:no_size_t_to_int_warning" ]
+ configs += [
+ "//build/config:precompiled_headers",
+
+ # TODO(jschuh): crbug.com/167187 fix size_t to int truncations.
+ "//build/config/compiler:no_size_t_to_int_warning",
+ ]
defines = []
deps = [
diff --git a/ppapi/BUILD.gn b/ppapi/BUILD.gn
index ae8b8b7..d14ad70 100644
--- a/ppapi/BUILD.gn
+++ b/ppapi/BUILD.gn
@@ -34,6 +34,7 @@ shared_library("ppapi_tests") {
sources = ppapi_sources.test_common_source_files +
ppapi_sources.test_trusted_source_files
+ configs += [ "//build/config:precompiled_headers" ]
defines = [ "GL_GLEXT_PROTOTYPES" ]
include_dirs = [ "lib/gl/include" ]
diff --git a/ppapi/cpp/BUILD.gn b/ppapi/cpp/BUILD.gn
index 2e121be..63b3f60 100644
--- a/ppapi/cpp/BUILD.gn
+++ b/ppapi/cpp/BUILD.gn
@@ -23,4 +23,5 @@ source_set("cpp") {
# themselves.
source_set("objects") {
sources = rebase_path(ppapi_sources.cpp_source_files, ".", "..")
+ configs += [ "//build/config:precompiled_headers" ]
}
diff --git a/ppapi/proxy/BUILD.gn b/ppapi/proxy/BUILD.gn
index 62a5370..bd378d5 100644
--- a/ppapi/proxy/BUILD.gn
+++ b/ppapi/proxy/BUILD.gn
@@ -265,7 +265,10 @@ component("proxy") {
]
}
- configs += [ ":proxy_implementation" ]
+ configs += [
+ ":proxy_implementation",
+ "//build/config:precompiled_headers",
+ ]
deps = [
"//base",
diff --git a/ppapi/shared_impl/BUILD.gn b/ppapi/shared_impl/BUILD.gn
index 9d205ec..25ad904 100644
--- a/ppapi/shared_impl/BUILD.gn
+++ b/ppapi/shared_impl/BUILD.gn
@@ -151,6 +151,7 @@ component("shared_impl") {
]
}
+ configs += [ "//build/config:precompiled_headers" ]
defines = [
"PPAPI_SHARED_IMPLEMENTATION",
diff --git a/ppapi/thunk/BUILD.gn b/ppapi/thunk/BUILD.gn
index c62534f..b4adef9 100644
--- a/ppapi/thunk/BUILD.gn
+++ b/ppapi/thunk/BUILD.gn
@@ -187,6 +187,7 @@ source_set("thunk") {
]
}
+ configs += [ "//build/config:precompiled_headers" ]
defines = [
# This target goes in the same library as shared_impl (in GYP they are the
# same).
diff --git a/remoting/protocol/BUILD.gn b/remoting/protocol/BUILD.gn
index 51ceb34..819ff5d 100644
--- a/remoting/protocol/BUILD.gn
+++ b/remoting/protocol/BUILD.gn
@@ -10,6 +10,7 @@ source_set("protocol") {
"//remoting")
configs += [
+ "//build/config:precompiled_headers",
"//build/config/compiler:no_size_t_to_int_warning",
"//build/config/compiler:wexit_time_destructors",
]
diff --git a/sandbox/win/BUILD.gn b/sandbox/win/BUILD.gn
index f707b7e..ade3e99 100644
--- a/sandbox/win/BUILD.gn
+++ b/sandbox/win/BUILD.gn
@@ -159,6 +159,8 @@ source_set("sandbox") {
]
}
+ configs += [ "//build/config:precompiled_headers" ]
+
deps = [
"//base",
"//base:base_static",
diff --git a/skia/BUILD.gn b/skia/BUILD.gn
index 9eb998c..a3616d3 100644
--- a/skia/BUILD.gn
+++ b/skia/BUILD.gn
@@ -441,6 +441,7 @@ component("skia") {
configs -= [ "//build/config/compiler:chromium_code" ]
configs += [
":skia_library_config",
+ "//build/config:precompiled_headers",
"//build/config/compiler:no_chromium_code",
]
public_configs = [ ":skia_config" ]
diff --git a/storage/browser/BUILD.gn b/storage/browser/BUILD.gn
index 60cac60..3c669fa 100644
--- a/storage/browser/BUILD.gn
+++ b/storage/browser/BUILD.gn
@@ -171,6 +171,8 @@ component("browser") {
defines = [ "STORAGE_BROWSER_IMPLEMENTATION" ]
configs += [
+ "//build/config:precompiled_headers",
+
# TODO(jschuh): crbug.com/167187 fix size_t to int truncations.
"//build/config/compiler:no_size_t_to_int_warning",
"//build/config/compiler:wexit_time_destructors",
diff --git a/sync/BUILD.gn b/sync/BUILD.gn
index 1f44388..237abd9 100644
--- a/sync/BUILD.gn
+++ b/sync/BUILD.gn
@@ -406,6 +406,8 @@ source_set("sync_core") {
"util/time.h",
]
+ configs += [ "//build/config:precompiled_headers" ]
+
public_deps = [
"//sync/internal_api/attachments/proto",
]
@@ -651,6 +653,8 @@ test("sync_unit_tests") {
"util/protobuf_unittest.cc",
]
+ configs += [ "//build/config:precompiled_headers" ]
+
deps = [
":test_support_sync_core",
":test_support_sync_internal_api",
diff --git a/ui/gfx/BUILD.gn b/ui/gfx/BUILD.gn
index 000f319..721611e 100644
--- a/ui/gfx/BUILD.gn
+++ b/ui/gfx/BUILD.gn
@@ -232,8 +232,12 @@ component("gfx") {
"win/window_impl.h",
]
- # TODO(jschuh): crbug.com/167187 fix size_t to int truncations.
- configs += [ "//build/config/compiler:no_size_t_to_int_warning" ]
+ configs += [
+ "//build/config:precompiled_headers",
+
+ # TODO(jschuh): crbug.com/167187 fix size_t to int truncations.
+ "//build/config/compiler:no_size_t_to_int_warning",
+ ]
defines = [ "GFX_IMPLEMENTATION" ]
diff --git a/ui/gl/BUILD.gn b/ui/gl/BUILD.gn
index 9fdcc94..8eb50dd 100644
--- a/ui/gl/BUILD.gn
+++ b/ui/gl/BUILD.gn
@@ -104,6 +104,7 @@ component("gl") {
"sync_control_vsync_provider.h",
]
+ configs += [ "//build/config:precompiled_headers" ]
defines = [ "GL_IMPLEMENTATION" ]
include_dirs = [
diff --git a/ui/message_center/BUILD.gn b/ui/message_center/BUILD.gn
index 7bd9e08..7e0bc37 100644
--- a/ui/message_center/BUILD.gn
+++ b/ui/message_center/BUILD.gn
@@ -23,8 +23,12 @@ component("message_center") {
"//url",
]
- # TODO(jschuh): crbug.com/167187 fix size_t to int truncations.
- configs += [ "//build/config/compiler:no_size_t_to_int_warning" ]
+ configs += [
+ "//build/config:precompiled_headers",
+
+ # TODO(jschuh): crbug.com/167187 fix size_t to int truncations.
+ "//build/config/compiler:no_size_t_to_int_warning",
+ ]
defines = [ "MESSAGE_CENTER_IMPLEMENTATION" ]
diff --git a/ui/views/BUILD.gn b/ui/views/BUILD.gn
index c14f089..ae64118 100644
--- a/ui/views/BUILD.gn
+++ b/ui/views/BUILD.gn
@@ -19,8 +19,12 @@ component("views") {
all_dependent_configs = [ ":flags" ]
sources = gypi_values.views_sources
- # TODO(jschuh): crbug.com/167187 fix size_t to int truncations.
- configs += [ "//build/config/compiler:no_size_t_to_int_warning" ]
+ configs += [
+ "//build/config:precompiled_headers",
+
+ # TODO(jschuh): crbug.com/167187 fix size_t to int truncations.
+ "//build/config/compiler:no_size_t_to_int_warning",
+ ]
defines = [ "VIEWS_IMPLEMENTATION" ]
@@ -138,6 +142,8 @@ static_library("test_support") {
testonly = true
sources = gypi_values.views_test_support_sources
+ configs += [ "//build/config:precompiled_headers" ]
+
public_deps = [
":views",
]
diff --git a/ui/wm/BUILD.gn b/ui/wm/BUILD.gn
index 36441c46..80a5b65 100644
--- a/ui/wm/BUILD.gn
+++ b/ui/wm/BUILD.gn
@@ -70,6 +70,7 @@ component("wm") {
"wm_export.h",
]
+ configs += [ "//build/config:precompiled_headers" ]
defines = [ "WM_IMPLEMENTATION" ]
deps = [