Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | document deps | Evan Martin | 2013-04-09 | 1 | -16/+83 |
| | |||||
* | Merge branch 'dep-pipeless' | Evan Martin | 2013-04-09 | 23 | -381/+1423 |
|\ | | | | | | | | | This merges a new mechanism for tracking "depfile" dependencies that is faster on all platforms but dramatically so on Windows. | ||||
| * | add a straightforward deps log test, fix the other one | Evan Martin | 2013-04-09 | 3 | -17/+100 |
| | | | | | | | | | | | | The first test I wrote was wrong; write a simpler test that exercises the "no failures" code paths, then fix the second test and the bugs it exposed. | ||||
| * | Write the depslog version in binary instead of text. | Nico Weber | 2013-04-09 | 1 | -5/+12 |
| | | | | | | | | | | | | This way, it doubles as a byte-order marker. The header is now exactly one line in a hex editor, and it's still relatively easy to look at the version in a text editor. | ||||
| * | Make deps=gcc without depfile an error. | Nico Weber | 2013-04-09 | 2 | -4/+24 |
| | | | | | | | | | | | | | | | | | | | | | | | | When I first played with depslog, I accidentally removed the depfile attribute on my cc edges, which had the effect of ninja silently ignoring all depfiles. Instead, let ninja complain about edges that have deps set to gcc and depfile set to nothing. This is done at edge build time, instead of at mainfest load time, because adding this check to ParseEdge() regressed empty build time for target 'chrome' by 30ms. The check is only useful for generator authors, regular users should never see this. | ||||
| * | add a test for the "deps out of date" case | Evan Martin | 2013-04-09 | 7 | -7/+120 |
| | | | | | | | | It touched the various remaining XXXes in the code, hooray. | ||||
| * | add a test verifying build failure on bad deps | Evan Martin | 2013-04-08 | 1 | -0/+17 |
| | | |||||
| * | make it an error for now to have multiple outputs with depslog | Evan Martin | 2013-04-08 | 3 | -1/+21 |
| | | |||||
| * | only write deps log if edge is in deps log mode | Evan Martin | 2013-04-08 | 1 | -11/+9 |
| | | |||||
| * | use logged deps mtime in dirty calculation | Evan Martin | 2013-04-08 | 3 | -9/+21 |
| | | | | | | | | | | | | | | | | The idea here is that it's possible for a build to complete (writing its output) but then for Ninja to get interrupted before writing out the updated dependency information. In that case the mtime stored in the deps log (if any) will match the previous output, and we'll know we need to rebuild the output just to get the deps updated. | ||||
| * | don't call .front() on an empty vector | Evan Martin | 2013-04-08 | 1 | -1/+2 |
| | | | | | | | | Fixes a gcc debug-mode assertion. | ||||
| * | hook up depslog writing into build process | Evan Martin | 2013-04-08 | 3 | -97/+134 |
| | | |||||
| * | rename "special" to "deps" | Evan Martin | 2013-04-08 | 3 | -8/+8 |
| | | |||||
| * | missing header | Evan Martin | 2013-04-08 | 1 | -0/+1 |
| | | |||||
| * | remove depfiles files as they're parsed | Evan Martin | 2013-04-08 | 2 | -4/+10 |
| | | |||||
| * | depslog: track dead record count | Evan Martin | 2013-04-08 | 2 | -1/+8 |
| | | |||||
| * | add recompaction to depslog | Evan Martin | 2013-04-08 | 3 | -10/+127 |
| | | | | | | | | Not done automatically yet, just an implementation and a test. | ||||
| * | clarify depslog overview | Evan Martin | 2013-04-08 | 1 | -4/+5 |
| | | |||||
| * | make old deps format migration actually work | Evan Martin | 2013-04-08 | 1 | -5/+4 |
| | | |||||
| * | record and check depslog file version | Evan Martin | 2013-04-08 | 1 | -4/+24 |
| | | | | | | | | Future-proofing against some change we may need to make later. | ||||
| * | don't write out deps entries if nothing changed | Evan Martin | 2013-04-08 | 2 | -2/+76 |
| | | | | | | | | Shortcuts a common case. | ||||
| * | windows: drop use of msvc helper in build | Evan Martin | 2013-04-08 | 2 | -12/+4 |
| | | |||||
| * | use special=anything to trigger loading from depslog | Evan Martin | 2013-04-08 | 1 | -1/+1 |
| | | |||||
| * | windows: use CLParser to extract deps during build | Evan Martin | 2013-04-08 | 1 | -1/+8 |
| | | |||||
| * | refactor build-time deps-extraction | Evan Martin | 2013-04-08 | 2 | -0/+53 |
| | | |||||
| * | factor MSVC parsing out of CLWrapper into CLParser | Evan Martin | 2013-04-08 | 4 | -146/+139 |
| | | |||||
| * | windows: add uint16 casts in depslog | Evan Martin | 2013-04-08 | 1 | -2/+2 |
| | | |||||
| * | add "special=gcc" attribute, use to load depslog | Evan Martin | 2013-04-08 | 3 | -12/+47 |
| | | |||||
| * | track deps log load time in metrics | Evan Martin | 2013-04-08 | 1 | -0/+2 |
| | | |||||
| * | expand DepsLog test, fix two bugs it revealed | Evan Martin | 2013-04-08 | 3 | -16/+36 |
| | | |||||
| * | plumb DepsLog load through Builder | Evan Martin | 2013-04-08 | 7 | -12/+16 |
| | | |||||
| * | no error if deps log doesn't exist | Evan Martin | 2013-04-08 | 1 | -0/+2 |
| | | |||||
| * | load deps log at startup | Evan Martin | 2013-04-08 | 1 | -0/+35 |
| | | |||||
| * | factor out creation of build directory | Evan Martin | 2013-04-08 | 1 | -16/+21 |
| | | |||||
| * | use DepsLog in loading dependencies | Evan Martin | 2013-04-08 | 4 | -67/+109 |
| | | | | | | | | WIP | ||||
| * | factor out implicit dep loading | Evan Martin | 2013-04-08 | 2 | -7/+19 |
| | | |||||
| * | pass command results via a struct | Evan Martin | 2013-04-08 | 3 | -64/+58 |
| | | | | | | | | | | WaitForCommand now passes all command output via a struct. This will allow adding more output in a future change. | ||||
| * | add DepsLog, a new data structure for dependency information | Evan Martin | 2013-04-08 | 6 | -3/+316 |
| | | | | | | | | | | DepsLog is a compact serialization of dependency information. It can be used to replace depfiles for faster loading. | ||||
* | | Merge pull request #532 from nico/sshhh_gtest | Evan Martin | 2013-04-09 | 6 | -106/+248 |
|\ \ | |/ |/| | Make test runner less chatty. | ||||
| * | Try to fix build on Linux more. | Nico Weber | 2013-04-09 | 1 | -1/+3 |
| | | |||||
| * | Try to fix build on Linux. | Nico Weber | 2013-04-09 | 1 | -0/+2 |
| | | |||||
| * | Make ninja_test output nicer. | Nico Weber | 2013-04-09 | 1 | -8/+12 |
| | | |||||
| * | Use LinePrinter in test runner. | Nico Weber | 2013-04-09 | 1 | -21/+23 |
| | | |||||
| * | Make LinePrinter members private, add comments. | Nico Weber | 2013-04-09 | 2 | -4/+13 |
| | | |||||
| * | move printing of new lines into LinePrinter. | Nico Weber | 2013-04-09 | 3 | -19/+14 |
| | | |||||
| * | refactor; no intended functionality change | Nico Weber | 2013-04-09 | 1 | -7/+13 |
| | | |||||
| * | move single-line printing to new class | Nico Weber | 2013-04-09 | 6 | -92/+162 |
| | | |||||
| * | Make gtest output more silent, ninja issue #528. | Nico Weber | 2013-04-09 | 2 | -3/+55 |
| | | | | | | | | | | This is just a proof-of-concept. The terminal printing logic should be extracted from src/build.cc and then reused here. | ||||
* | | sync version number in master with release | Evan Martin | 2013-04-08 | 2 | -7/+8 |
| | | | | | | | | Update RELEASING with notes on how to not screw this up again. | ||||
* | | split FakeCommandRunner out of BuildTest | Evan Martin | 2013-04-08 | 1 | -87/+95 |
| | | | | | | | | Separating concerns to make a subsequent refactoring easier. |