summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* document depsEvan Martin2013-04-091-16/+83
|
* Merge branch 'dep-pipeless'Evan Martin2013-04-0923-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 oneEvan Martin2013-04-093-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 Weber2013-04-091-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 Weber2013-04-092-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" caseEvan Martin2013-04-097-7/+120
| | | | | | | | It touched the various remaining XXXes in the code, hooray.
| * add a test verifying build failure on bad depsEvan Martin2013-04-081-0/+17
| |
| * make it an error for now to have multiple outputs with depslogEvan Martin2013-04-083-1/+21
| |
| * only write deps log if edge is in deps log modeEvan Martin2013-04-081-11/+9
| |
| * use logged deps mtime in dirty calculationEvan Martin2013-04-083-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 vectorEvan Martin2013-04-081-1/+2
| | | | | | | | Fixes a gcc debug-mode assertion.
| * hook up depslog writing into build processEvan Martin2013-04-083-97/+134
| |
| * rename "special" to "deps"Evan Martin2013-04-083-8/+8
| |
| * missing headerEvan Martin2013-04-081-0/+1
| |
| * remove depfiles files as they're parsedEvan Martin2013-04-082-4/+10
| |
| * depslog: track dead record countEvan Martin2013-04-082-1/+8
| |
| * add recompaction to depslogEvan Martin2013-04-083-10/+127
| | | | | | | | Not done automatically yet, just an implementation and a test.
| * clarify depslog overviewEvan Martin2013-04-081-4/+5
| |
| * make old deps format migration actually workEvan Martin2013-04-081-5/+4
| |
| * record and check depslog file versionEvan Martin2013-04-081-4/+24
| | | | | | | | Future-proofing against some change we may need to make later.
| * don't write out deps entries if nothing changedEvan Martin2013-04-082-2/+76
| | | | | | | | Shortcuts a common case.
| * windows: drop use of msvc helper in buildEvan Martin2013-04-082-12/+4
| |
| * use special=anything to trigger loading from depslogEvan Martin2013-04-081-1/+1
| |
| * windows: use CLParser to extract deps during buildEvan Martin2013-04-081-1/+8
| |
| * refactor build-time deps-extractionEvan Martin2013-04-082-0/+53
| |
| * factor MSVC parsing out of CLWrapper into CLParserEvan Martin2013-04-084-146/+139
| |
| * windows: add uint16 casts in depslogEvan Martin2013-04-081-2/+2
| |
| * add "special=gcc" attribute, use to load depslogEvan Martin2013-04-083-12/+47
| |
| * track deps log load time in metricsEvan Martin2013-04-081-0/+2
| |
| * expand DepsLog test, fix two bugs it revealedEvan Martin2013-04-083-16/+36
| |
| * plumb DepsLog load through BuilderEvan Martin2013-04-087-12/+16
| |
| * no error if deps log doesn't existEvan Martin2013-04-081-0/+2
| |
| * load deps log at startupEvan Martin2013-04-081-0/+35
| |
| * factor out creation of build directoryEvan Martin2013-04-081-16/+21
| |
| * use DepsLog in loading dependenciesEvan Martin2013-04-084-67/+109
| | | | | | | | WIP
| * factor out implicit dep loadingEvan Martin2013-04-082-7/+19
| |
| * pass command results via a structEvan Martin2013-04-083-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 informationEvan Martin2013-04-086-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_gtestEvan Martin2013-04-096-106/+248
|\ \ | |/ |/| Make test runner less chatty.
| * Try to fix build on Linux more.Nico Weber2013-04-091-1/+3
| |
| * Try to fix build on Linux.Nico Weber2013-04-091-0/+2
| |
| * Make ninja_test output nicer.Nico Weber2013-04-091-8/+12
| |
| * Use LinePrinter in test runner.Nico Weber2013-04-091-21/+23
| |
| * Make LinePrinter members private, add comments.Nico Weber2013-04-092-4/+13
| |
| * move printing of new lines into LinePrinter.Nico Weber2013-04-093-19/+14
| |
| * refactor; no intended functionality changeNico Weber2013-04-091-7/+13
| |
| * move single-line printing to new classNico Weber2013-04-096-92/+162
| |
| * Make gtest output more silent, ninja issue #528.Nico Weber2013-04-092-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 releaseEvan Martin2013-04-082-7/+8
| | | | | | | | Update RELEASING with notes on how to not screw this up again.
* | split FakeCommandRunner out of BuildTestEvan Martin2013-04-081-87/+95
| | | | | | | | Separating concerns to make a subsequent refactoring easier.