michael@0: // Copyright (c) 2012 The Chromium Authors. All rights reserved. michael@0: // Use of this source code is governed by a BSD-style license that can be michael@0: // found in the LICENSE file. michael@0: michael@0: // Precompiled header for Chromium project on Windows, not used by michael@0: // other build configurations. Using precompiled headers speeds the michael@0: // build up significantly, around 1/4th on VS 2010 on an HP Z600 with 12 michael@0: // GB of memory. michael@0: // michael@0: // Numeric comments beside includes are the number of times they were michael@0: // included under src/chrome/browser on 2011/8/20, which was used as a michael@0: // baseline for deciding what to include in the PCH. Includes without michael@0: // a numeric comment are generally included at least 5 times. It may michael@0: // be possible to tweak the speed of the build by commenting out or michael@0: // removing some of the less frequently used headers. michael@0: michael@0: #if defined(BUILD_PRECOMPILE_H_) michael@0: #error You shouldn't include the precompiled header file more than once. michael@0: #endif michael@0: michael@0: #define BUILD_PRECOMPILE_H_ michael@0: michael@0: // The Windows header needs to come before almost all the other michael@0: // Windows-specific headers. michael@0: #include michael@0: #include michael@0: #include michael@0: #include // 4 michael@0: #include // 2 michael@0: michael@0: // Defines in atlbase.h cause conflicts; if we could figure out how michael@0: // this family of headers can be included in the PCH, it might speed michael@0: // up the build as several of them are used frequently. michael@0: /* michael@0: #include michael@0: #include michael@0: #include michael@0: #include // 2 michael@0: #include // 2 michael@0: #include // 2 michael@0: #include // 1 michael@0: #include // 1 michael@0: #include // 2 michael@0: */ michael@0: michael@0: // Objbase.h and other files that rely on it bring in [ #define michael@0: // interface struct ] which can cause problems in a multi-platform michael@0: // build like Chrome's. #undef-ing it does not work as there are michael@0: // currently 118 targets that break if we do this, so leaving out of michael@0: // the precompiled header for now. michael@0: //#include // 2 michael@0: //#include // 3 michael@0: //#include // 2 michael@0: //#include // 2 michael@0: //#include // 1 michael@0: //#include // 1 michael@0: //#include // 2 michael@0: //#include // 1 michael@0: //#include // 1 michael@0: //#include // 2 michael@0: //#include // 2 michael@0: //#include // 2 michael@0: //#include // 1 michael@0: //#include // 1 michael@0: //#include // 4 michael@0: //#include // 2 michael@0: michael@0: // Caused other conflicts in addition to the 'interface' issue above. michael@0: // #include michael@0: michael@0: #include michael@0: #include michael@0: #include // 4 michael@0: #include michael@0: #include // 1 michael@0: #include michael@0: #include // 1 michael@0: #include michael@0: #include michael@0: #include michael@0: #include michael@0: #include // 4 michael@0: michael@0: #include michael@0: #include // 3 michael@0: #include michael@0: #include michael@0: #include // 3 michael@0: #include // 2 michael@0: #include michael@0: #include michael@0: #include // 3 michael@0: #include michael@0: #include // 2 michael@0: #include // 2 michael@0: #include michael@0: #include michael@0: #include michael@0: #include michael@0: #include // 2 michael@0: #include michael@0: #include michael@0: #include michael@0: #include michael@0: #include michael@0: #include michael@0: #include michael@0: #include