diff options
author | joi@chromium.org <joi@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-09-14 10:55:18 +0000 |
---|---|---|
committer | joi@chromium.org <joi@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-09-14 10:55:18 +0000 |
commit | 1fdb136a3c0a1b870d3a39f0a443c2c3aadfcbe3 (patch) | |
tree | 284e33d0245d6a2e8a52c3d5bbae8e7d58a9779d /build/precompile.h | |
parent | f2af3404cf95dfe168136de039663356347ce31e (diff) | |
download | chromium_src-1fdb136a3c0a1b870d3a39f0a443c2c3aadfcbe3.zip chromium_src-1fdb136a3c0a1b870d3a39f0a443c2c3aadfcbe3.tar.gz chromium_src-1fdb136a3c0a1b870d3a39f0a443c2c3aadfcbe3.tar.bz2 |
Eliminate headers from precompile.h that define 'interface' to avoid compile failures on Windows that would not be seen on Mac or Linux. I didn't do an exact measurement but I think we lose very little in terms of build time from this; Windows.h is the big Windows-specific header and it's still precompiled.
BUG=none
TEST=it builds
Review URL: http://codereview.chromium.org/7888030
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@101059 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'build/precompile.h')
-rw-r--r-- | build/precompile.h | 50 |
1 files changed, 29 insertions, 21 deletions
diff --git a/build/precompile.h b/build/precompile.h index 940d7302..73dc57f 100644 --- a/build/precompile.h +++ b/build/precompile.h @@ -22,6 +22,10 @@ // 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 // TODO(joi): Defines in atlbase.h cause conflicts; need to figure out // if/how this family of headers can be included in the PCH; several @@ -38,27 +42,31 @@ #include <atlwin.h> // 2 */ -#include <commctrl.h> // 2 -#include <commdlg.h> // 3 -#include <cryptuiapi.h> // 2 -#include <dwmapi.h> -#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 <shellapi.h> -#include <shlguid.h> // 1 -//#include <shlobj.h> TODO(joi): Caused conflicts, see if they can be resolved. -#include <shlwapi.h> // 1 -#include <shobjidl.h> // 4 -#include <urlhist.h> // 2 -#include <wincrypt.h> // 4 -#include <wtypes.h> // 2 +// TODO(joi): 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. Tried #undef-ing it, but +// 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 + +// TODO(joi): Caused other conflicts in addition to the 'interface' issue +// above, see if they can be resolved. +//#include <shlobj.h> #include <errno.h> #include <fcntl.h> |