diff options
Diffstat (limited to 'media/webrtc/trunk/build/precompile.h')
-rw-r--r-- | media/webrtc/trunk/build/precompile.h | 108 |
1 files changed, 108 insertions, 0 deletions
diff --git a/media/webrtc/trunk/build/precompile.h b/media/webrtc/trunk/build/precompile.h new file mode 100644 index 000000000..a3c5193c6 --- /dev/null +++ b/media/webrtc/trunk/build/precompile.h @@ -0,0 +1,108 @@ +// Copyright (c) 2012 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 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. + +#if defined(BUILD_PRECOMPILE_H_) +#error You shouldn't include the precompiled header file more than once. +#endif + +#define BUILD_PRECOMPILE_H_ + +// The Windows header needs to come before almost all the other +// Windows-specific headers. +#include <Windows.h> +#include <dwmapi.h> +#include <shellapi.h> +#include <wincrypt.h> // 4 +#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 <math.h> +#include <memory.h> // 1 +#include <signal.h> +#include <stdarg.h> // 1 +#include <stddef.h> +#include <stdio.h> +#include <stdlib.h> +#include <string.h> +#include <time.h> // 4 + +#include <algorithm> +#include <bitset> // 3 +#include <cmath> +#include <cstddef> +#include <cstdio> // 3 +#include <cstdlib> // 2 +#include <cstring> +#include <deque> +#include <fstream> // 3 +#include <functional> +#include <iomanip> // 2 +#include <iosfwd> // 2 +#include <iterator> +#include <limits> +#include <list> +#include <map> +#include <numeric> // 2 +#include <ostream> +#include <queue> +#include <set> +#include <sstream> +#include <stack> +#include <string> +#include <utility> +#include <vector> |