media/webrtc/trunk/build/precompile.h

changeset 0
6474c204b198
     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>

mercurial