1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 1.2 +++ b/media/webrtc/trunk/build/precompile.h Wed Dec 31 06:09:35 2014 +0100 1.3 @@ -0,0 +1,108 @@ 1.4 +// Copyright (c) 2012 The Chromium Authors. All rights reserved. 1.5 +// Use of this source code is governed by a BSD-style license that can be 1.6 +// found in the LICENSE file. 1.7 + 1.8 +// Precompiled header for Chromium project on Windows, not used by 1.9 +// other build configurations. Using precompiled headers speeds the 1.10 +// build up significantly, around 1/4th on VS 2010 on an HP Z600 with 12 1.11 +// GB of memory. 1.12 +// 1.13 +// Numeric comments beside includes are the number of times they were 1.14 +// included under src/chrome/browser on 2011/8/20, which was used as a 1.15 +// baseline for deciding what to include in the PCH. Includes without 1.16 +// a numeric comment are generally included at least 5 times. It may 1.17 +// be possible to tweak the speed of the build by commenting out or 1.18 +// removing some of the less frequently used headers. 1.19 + 1.20 +#if defined(BUILD_PRECOMPILE_H_) 1.21 +#error You shouldn't include the precompiled header file more than once. 1.22 +#endif 1.23 + 1.24 +#define BUILD_PRECOMPILE_H_ 1.25 + 1.26 +// The Windows header needs to come before almost all the other 1.27 +// Windows-specific headers. 1.28 +#include <Windows.h> 1.29 +#include <dwmapi.h> 1.30 +#include <shellapi.h> 1.31 +#include <wincrypt.h> // 4 1.32 +#include <wtypes.h> // 2 1.33 + 1.34 +// Defines in atlbase.h cause conflicts; if we could figure out how 1.35 +// this family of headers can be included in the PCH, it might speed 1.36 +// up the build as several of them are used frequently. 1.37 +/* 1.38 +#include <atlbase.h> 1.39 +#include <atlapp.h> 1.40 +#include <atlcom.h> 1.41 +#include <atlcrack.h> // 2 1.42 +#include <atlctrls.h> // 2 1.43 +#include <atlmisc.h> // 2 1.44 +#include <atlsafe.h> // 1 1.45 +#include <atltheme.h> // 1 1.46 +#include <atlwin.h> // 2 1.47 +*/ 1.48 + 1.49 +// Objbase.h and other files that rely on it bring in [ #define 1.50 +// interface struct ] which can cause problems in a multi-platform 1.51 +// build like Chrome's. #undef-ing it does not work as there are 1.52 +// currently 118 targets that break if we do this, so leaving out of 1.53 +// the precompiled header for now. 1.54 +//#include <commctrl.h> // 2 1.55 +//#include <commdlg.h> // 3 1.56 +//#include <cryptuiapi.h> // 2 1.57 +//#include <Objbase.h> // 2 1.58 +//#include <objidl.h> // 1 1.59 +//#include <ole2.h> // 1 1.60 +//#include <oleacc.h> // 2 1.61 +//#include <oleauto.h> // 1 1.62 +//#include <oleidl.h> // 1 1.63 +//#include <propkey.h> // 2 1.64 +//#include <propvarutil.h> // 2 1.65 +//#include <pstore.h> // 2 1.66 +//#include <shlguid.h> // 1 1.67 +//#include <shlwapi.h> // 1 1.68 +//#include <shobjidl.h> // 4 1.69 +//#include <urlhist.h> // 2 1.70 + 1.71 +// Caused other conflicts in addition to the 'interface' issue above. 1.72 +// #include <shlobj.h> 1.73 + 1.74 +#include <errno.h> 1.75 +#include <fcntl.h> 1.76 +#include <limits.h> // 4 1.77 +#include <math.h> 1.78 +#include <memory.h> // 1 1.79 +#include <signal.h> 1.80 +#include <stdarg.h> // 1 1.81 +#include <stddef.h> 1.82 +#include <stdio.h> 1.83 +#include <stdlib.h> 1.84 +#include <string.h> 1.85 +#include <time.h> // 4 1.86 + 1.87 +#include <algorithm> 1.88 +#include <bitset> // 3 1.89 +#include <cmath> 1.90 +#include <cstddef> 1.91 +#include <cstdio> // 3 1.92 +#include <cstdlib> // 2 1.93 +#include <cstring> 1.94 +#include <deque> 1.95 +#include <fstream> // 3 1.96 +#include <functional> 1.97 +#include <iomanip> // 2 1.98 +#include <iosfwd> // 2 1.99 +#include <iterator> 1.100 +#include <limits> 1.101 +#include <list> 1.102 +#include <map> 1.103 +#include <numeric> // 2 1.104 +#include <ostream> 1.105 +#include <queue> 1.106 +#include <set> 1.107 +#include <sstream> 1.108 +#include <stack> 1.109 +#include <string> 1.110 +#include <utility> 1.111 +#include <vector>