Index: build/precompile.h |
diff --git a/build/precompile.h b/build/precompile.h |
index 32c2f11059a5cb77e6549f63aeba0ba59c6bef25..50a9b87e2fb2326c08ebd94b53d81bd380597d96 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 |