Index: Source/build/win/Precompile-core.h |
diff --git a/Source/build/win/Precompile-core.h b/Source/build/win/Precompile-core.h |
new file mode 100644 |
index 0000000000000000000000000000000000000000..dd6a5766f385a359727a0fcbfbf1a8fc7c632004 |
--- /dev/null |
+++ b/Source/build/win/Precompile-core.h |
@@ -0,0 +1,53 @@ |
+// Copyright 2015 The Chromium Authors. All rights reserved. |
+// Use of this source code is governed by a BSD-style license that can be |
+// found in the LICENSE file. |
+ |
+/* |
+ * Precompiled header for WebKit when built on Windows using |
+ * GYP-generated project files. Not used by other build |
+ * configurations. |
+ * |
+ * Using precompiled headers speeds the build up significantly. On a |
+ * fast machine (HP Z600, 12 GB of RAM), an ~18% decrease in full |
+ * build time was measured with only the stdlib headers added. More |
+ * with the Blink specific headers. |
+ */ |
+ |
+#if defined(PrecompileCore_h_) |
+#error You shouldn't include the precompiled header file more than once. |
+#endif |
+ |
+#define PrecompileCore_h_ |
+ |
+#define _USE_MATH_DEFINES // Make math.h behave on Windows as on other platforms. |
+ |
+#include <Windows.h> |
+ |
+#include <algorithm> |
+#include <ciso646> |
+#include <cmath> |
+#include <cstddef> |
+#include <errno.h> |
+#include <fcntl.h> |
+#include <limits.h> |
+#include <limits> |
+#include <math.h> |
+#include <stdarg.h> |
+#include <stddef.h> |
+#include <stdio.h> |
+#include <stdlib.h> |
+#include <string.h> |
+#include <string> |
+#include <time.h> |
+#include <utility> |
+ |
+// In Blink a lot of operations center around dom and Document, or around |
+// layout/rendering and LayoutObject. Those two headers are in turn pulling |
+// in large parts of Blink's other headers which means that every compilation |
+// unit is compiling large parts of Blink. By precompiling Document.h and |
+// LayoutObject.h we only have to compile those parts once rather than |
+// 1500 times. It can make a large difference in compilation times. |
+// config.h contains some base macros that headers can expect are present. |
+#include "config.h" |
+#include "core/dom/Document.h" |
+#include "core/layout/LayoutObject.h" |