blob: 940d7302b07f0a4b54d739e965488cbbef1922a5 [file] [log] [blame]
[email protected]99ff9932011-09-07 14:14:541// Copyright (c) 2011 The Chromium Authors. All rights reserved.
2// Use of this source code is governed by a BSD-style license that can be
3// found in the LICENSE file.
4
5// Precompiled header for Chromium project on Windows, not used by
6// other build configurations. Using precompiled headers speeds the
7// build up significantly, around 1/4th on VS 2010 on an HP Z600 with 12
8// GB of memory.
9//
10// Numeric comments beside includes are the number of times they were
11// included under src/chrome/browser on 2011/8/20, which was used as a
12// baseline for deciding what to include in the PCH. It may be
13// possible to tweak the speed of the build by commenting out or
14// removing some of the less frequently used headers.
15
16#if defined(BUILD_PRECOMPILE_H_)
17#error You shouldn't include the precompiled header file more than once.
18#endif
19
20#define BUILD_PRECOMPILE_H_
21
22// The Windows header needs to come before almost all the other
23// Windows-specific headers.
24#include <Windows.h>
25
26// TODO(joi): Defines in atlbase.h cause conflicts; need to figure out
27// if/how this family of headers can be included in the PCH; several
28// of them are used quite frequently.
29/*
30#include <atlbase.h>
31#include <atlapp.h>
32#include <atlcom.h>
33#include <atlcrack.h> // 2
34#include <atlctrls.h> // 2
35#include <atlmisc.h> // 2
36#include <atlsafe.h> // 1
37#include <atltheme.h> // 1
38#include <atlwin.h> // 2
39*/
40
41#include <commctrl.h> // 2
42#include <commdlg.h> // 3
43#include <cryptuiapi.h> // 2
44#include <dwmapi.h>
45#include <Objbase.h> // 2
46#include <objidl.h> // 1
47#include <ole2.h> // 1
48#include <oleacc.h> // 2
49#include <oleauto.h> // 1
50#include <oleidl.h> // 1
51#include <propkey.h> // 2
52#include <propvarutil.h> // 2
53#include <pstore.h> // 2
54#include <shellapi.h>
55#include <shlguid.h> // 1
56//#include <shlobj.h> TODO(joi): Caused conflicts, see if they can be resolved.
57#include <shlwapi.h> // 1
58#include <shobjidl.h> // 4
59#include <urlhist.h> // 2
60#include <wincrypt.h> // 4
61#include <wtypes.h> // 2
62
63#include <errno.h>
64#include <fcntl.h>
65#include <limits.h> // 4
66#include <math.h>
67#include <memory.h> // 1
68#include <signal.h>
69#include <stdarg.h> // 1
70#include <stddef.h>
71#include <stdio.h>
72#include <stdlib.h>
73#include <string.h>
74#include <time.h> // 4
75
76#include <algorithm>
77#include <bitset> // 3
78#include <cmath>
79#include <cstddef>
80#include <cstdio> // 3
81#include <cstdlib> // 2
82#include <cstring>
83#include <deque>
84#include <fstream> // 3
85#include <functional>
86#include <iomanip> // 2
87#include <iosfwd> // 2
88#include <iterator>
89#include <limits>
90#include <list>
91#include <map>
92#include <numeric> // 2
93#include <ostream>
94#include <queue>
95#include <set>
96#include <sstream>
97#include <stack>
98#include <string>
99#include <utility>
100#include <vector>