Chromium Code Reviews| Index: Source/core/win/Precompile-core.h |
| diff --git a/Source/core/win/Precompile-core.h b/Source/core/win/Precompile-core.h |
| new file mode 100644 |
| index 0000000000000000000000000000000000000000..dd6a5766f385a359727a0fcbfbf1a8fc7c632004 |
| --- /dev/null |
| +++ b/Source/core/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" |
|
Nico
2015/06/25 23:14:45
This looks wrong. https://www.webkit.org/coding/co
|
| +#include "core/dom/Document.h" |
| +#include "core/layout/LayoutObject.h" |