summaryrefslogtreecommitdiffstats
path: root/build/precompile.h
Commit message (Collapse)AuthorAgeFilesLines
* Annotate large GN targets for precompiled headersbrettw2015-07-281-69/+17
| | | | | | | | | | | | | | | | | | Adds the precompiled header config to most large-ish targets in the build, but keeps the config a no-op (so no precompiled headers will be used but this can bw switched with a one-line change). Removes Windows files from the precompiled header. This does not seem to affect the build speed much because most Chrome files don't depend on Windows any more. And windows.h injects typedefs and defines that conflict with some third party libraries and prevent using precompiled headers for those targets or any target that includes them. I counted ~50 files or bigger as large. The 50 file threshold is based on some previous approximate measurements (since the precompile step is an extra per-target compile, it can actually make small targets compile slower). For borderline cases, I added the precompiled header flag if I thought it was likely to have more files added, and didn't add it if I thought the target was likely to be static. This is a reland of https://codereview.chromium.org/1250273002/ with the config disabled for easier re-landing and iterating CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel TBR=dpranke Review URL: https://codereview.chromium.org/1258273004 Cr-Commit-Position: refs/heads/master@{#340728}
* Revert "Add precompiled headers to GN build for large targets."dpranke2015-07-281-17/+69
| | | | | | | | | | | | | | | | | This reverts commit 8f3218985dde74063ccc362da47803be163f3165. It looks like this may have broken incremental builds on Win. TBR=brettw@chromium.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG= CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel Review URL: https://codereview.chromium.org/1256223003 Cr-Commit-Position: refs/heads/master@{#340620}
* Add precompiled headers to GN build for large targets.brettw2015-07-271-69/+17
| | | | | | | | | | | | | | | | Turns on precompiled header support in the GN build on Windows, and adds the precompiled header config to most large-ish targets in the build. Removes Windows files from the precompiled header. This does not seem to affect the build speed much because most Chrome files don't depend on Windows any more. And windows.h injects typedefs and defines that conflict with some third party libraries and prevent using precompiled headers for those targets or any target that includes them. I counted ~50 files or bigger as large. The 50 file threshold is based on some previous approximate measurements (since the precompile step is an extra per-target compile, it can actually make small targets compile slower). For borderline cases, I added the precompiled header flag if I thought it was likely to have more files added, and didn't add it if I thought the target was likely to be static. CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel Review URL: https://codereview.chromium.org/1250273002 Cr-Commit-Position: refs/heads/master@{#340535}
* Remove wincrypt.h from precompiled headers.davidben2014-11-191-1/+0
| | | | | | | | | | | | wincrypt.h and OpenSSL conflict on a symbol, worked around by crypto/wincrypt_shim.h. This means that wincrypt.h can't be included directly. Remove it from the set of precompiled headers. BUG=338884 Review URL: https://codereview.chromium.org/720373004 Cr-Commit-Position: refs/heads/master@{#304880}
* Fixes compile errorScott Violet2014-09-021-0/+2
| | | | | | | | | | | | | Without this I get compile errors in motion_event_web.cc because M_PI is undeclared. BUG=409940 TEST=none R=scottmg@chromium.org Review URL: https://codereview.chromium.org/533863002 Cr-Commit-Position: refs/heads/master@{#292991}
* Remove intsafe_workaround.hthakis@chromium.org2014-07-181-2/+0
| | | | | | | | | | | | It's no longer needed. BUG=308740 R=scottmg@chromium.org TBR=cpu Review URL: https://codereview.chromium.org/404443003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@284256 0039d316-1c4b-4281-b951-d872f2087c98
* reland of intsafe precompiled header fix from ↵scottmg@chromium.org2013-04-171-18/+1
| | | | | | | | | | | | | https://codereview.chromium.org/14201003/ With fixed include path. TBR=cpu@chromium.org BUG=225822 Review URL: https://codereview.chromium.org/14096011 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@194620 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 194506 "intsafe workaround to separate header"scottmg@chromium.org2013-04-171-1/+18
| | | | | | | | | | | | | | | | | | | | Broke x64 compile. > intsafe workaround to separate header > > Allows workaround to work without precompiled headers (as in > buildtype=Official) > > R=cpu@chromium.org > BUG=225822 > > Review URL: https://codereview.chromium.org/14201003 TBR=scottmg@chromium.org Review URL: https://codereview.chromium.org/13977005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@194507 0039d316-1c4b-4281-b951-d872f2087c98
* intsafe workaround to separate headerscottmg@chromium.org2013-04-171-18/+1
| | | | | | | | | | | | Allows workaround to work without precompiled headers (as in buildtype=Official) R=cpu@chromium.org BUG=225822 Review URL: https://codereview.chromium.org/14201003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@194506 0039d316-1c4b-4281-b951-d872f2087c98
* workaround for building with express toolchain on windowsscottmg@chromium.org2013-04-041-0/+19
| | | | | | | | | | | | | | | | | intsafe.h and stdint.h both define INT8_MIN et al. with no guards, and so can't both be included. Because dependencies do this deep in their internals, avoid this problem by including intsafe.h, and then #undef'ing the conflicts in precompile.h (which is included in all .cc files). intsafe.h's include guard symbol stays defined so that any subsequent inclusions do not cause problems. R=thestig@chromium.org BUG=225822 Review URL: https://chromiumcodereview.appspot.com/13484002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@192341 0039d316-1c4b-4281-b951-d872f2087c98
* Change a couple of TODOs to plain comments.joi@chromium.org2012-04-241-14/+14
| | | | | | | | BUG=none Review URL: http://codereview.chromium.org/10204018 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@133741 0039d316-1c4b-4281-b951-d872f2087c98
* Eliminate headers from precompile.h that define 'interface' to avoid compile ↵joi@chromium.org2011-09-141-21/+29
| | | | | | | | | | | 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
* Use precompiled headers for most large projects where the .gyp filejoi@chromium.org2011-09-071-0/+100
is not a third party file. On my machine, this speeds up a full recompile of the 'chrome' target in Debug mode by about 18%. BUG=none TEST=it builds, existing tests pass Review URL: http://codereview.chromium.org/7706011 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@99949 0039d316-1c4b-4281-b951-d872f2087c98