summaryrefslogtreecommitdiffstats
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
...
* | | Merge pull request #999 from colincross/dumbstatusNico Weber2015-11-121-2/+3
|\ \ \ | | | | | | | | Print status when edge finishes on dumb terminals
| * | | Print status when edge finishes on dumb terminalsColin Cross2015-07-311-2/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | On smart terminals ninja prints the status line both before and after running a command, reusing the same line if possible. On a dumb terminal that doesn't support reusing the line, it only prints the status before starting the command, but prints the output of the command when the command finishes, by which point other commands may have started and printed their status line. This makes it impossible to determine what command produced a line of output. Modify BuildEdgeStarted to only print the status line if the command is going to lock the console, or if ninja is running on a smart terminal. Modify BuildEdgeFinished to always print the status line unless the command locked the console, in which case the status was already printed and no other command can have printed any lines. The end result will be dumb terminal output that much more closely matches smart terminal output. One disadvantage is that dumb terminals won't show anything when starting a command, making it harder to tell what commands are currently running, but I expect most interactive uses of ninja will use a smart terminal.
* | | | Merge pull request #964 from nicolasdespres/sighupNico Weber2015-11-123-1/+36
|\ \ \ \ | | | | | | | | | | Cleanup build on SIGHUP.
| * | | | Cleanup build on SIGHUP.Nicolas Despres2015-09-203-1/+36
| | |_|/ | |/| | | | | | | | | | | | | | SIGHUP is sent when the connection hang up (i.e. when the terminal window is closed or the ssh connection is closed).
* | | | Merge pull request #763 from drbo/masterNico Weber2015-11-123-31/+38
|\ \ \ \ | | | | | | | | | | Allow paths with international characters in depfiles
| * \ \ \ Merge remote-tracking branch 'upstream/master'Demetri Obenour2014-05-3112-60/+124
| |\ \ \ \
| * | | | | Added test of international character supportDemetri Obenour2014-05-082-29/+36
| | | | | |
| * | | | | Added support for international characters in makefile dependency namesDemetri Obenour2014-05-081-2/+2
| | | | | |
* | | | | | Make links point to org pageNico Weber2015-11-114-8/+8
| | | | | |
* | | | | | Fix typo.Nicolas Despres2015-09-241-1/+1
| |_|/ / / |/| | | |
* | | | | Merge pull request #1014 from moroten/optimize-stringpieceNico Weber2015-09-071-1/+1
|\ \ \ \ \ | | | | | | | | | | | | Optimize StringPiece hash map
| * | | | | Optimize StringPiece hash mapFredrik Medley2015-09-031-1/+1
| | |_|_|/ | |/| | | | | | | | | | | | | | | | | | | | | | | Replace strncmp with memcmp to improve performance. Signed-off-by: Fredrik Medley <fredrik.medley@gmail.com>
* | | | | Merge LLVM r242069, make spell checking allocate less memory.Nico Weber2015-09-071-18/+20
|/ / / /
* | | | Remove accidental changesScott Graham2015-08-102-1105/+1105
| | | |
* | | | Some mucking with std:: for set_terminate and terminate_handlerScott Graham2015-08-104-1109/+1108
| | | |
* | | | Make sure not to re-define __STDC_FORMAT_MACROS.Lindley French2015-07-311-0/+2
| |_|/ |/| |
* | | Correct order of ASSERT_EQ argumentsMike Seplowitz2015-07-301-2/+2
| | | | | | | | | | | | The correct order is ASSERT_EQ(expected, actual).
* | | Merge pull request #988 from nico/slashesNico Weber2015-07-103-7/+13
|\ \ \ | | | | | | | | win: print right slashes in 'unknown target' message
| * | | win: print right slashes in 'unknown target' messageNico Weber2015-07-103-7/+13
| | | |
* | | | Merge pull request #973 from sgraham/canonicalize-fixNico Weber2015-07-058-63/+149
|\ \ \ \ | | | | | | | | | | Fix crash in attempting to canonicalize paths longer than _MAX_PATH
| * | | | don't alias input/output in ExtractDeps (i.e. actually works now)Scott Graham2015-06-183-3/+8
| | | | |
| * | | | propagate include normalization failure to caller insteadScott Graham2015-06-185-25/+30
| | | | |
| * | | | Error+exit -> FatalScott Graham2015-06-181-2/+1
| | | | |
| * | | | don't abort()Scott Graham2015-06-091-3/+3
| | | | |
| * | | | push error to caller and abort on failureScott Graham2015-06-094-47/+73
| | | | |
| * | | | Fix crash in attempting to canonicalize paths longer than _MAX_PATHScott Graham2015-06-082-1/+52
| | | | |
* | | | | Merge pull request #979 from stinb/bootstrap-out-of-sourceNico Weber2015-07-051-1/+1
|\ \ \ \ \ | | | | | | | | | | | | Bootstrap out of source
| * | | | | Search for generated headers relative to build dir.Jason Haslam2015-06-221-1/+1
| | |/ / / | |/| | |
* | | | | mark this 1.6.0.gitNico Weber2015-06-291-1/+1
|/ / / /
* | | | Revert "Bootstrap out of source"Nico Weber2015-06-221-1/+1
| | | |
* | | | Merge pull request #971 from stinb/bootstrap-out-of-sourceNico Weber2015-06-181-1/+1
|\ \ \ \ | | | | | | | | | | Bootstrap out of source
| * | | | Search for generated headers relative to build dir.Jason Haslam2015-05-261-1/+1
| |/ / /
* | | | Merge pull request #970 from nico/explainNico Weber2015-06-181-1/+7
|\ \ \ \ | | | | | | | | | | Add a missing EXPLAIN() call.
| * | | | Add a missing EXPLAIN() call.Nico Weber2015-05-151-1/+7
| |/ / /
* | | | Add missing member initializer in Edge constructorBrad King2015-06-161-1/+2
|/ / / | | | | | | | | | | | | | | | In commit v1.1.0^2~15^2~20 (stub out an api and de-constify Pool, 2012-10-03) the Edge "pool_" member was added as a raw pointer but the initializer was accidentally left out of the constructor. Add it now.
* | | Fix typo in comment.Nico Weber2015-05-021-1/+1
| | |
* | | Merge pull request #962 from sgraham/pool-use-fixNico Weber2015-04-294-21/+43
|\ \ \ | | | | | | | | Fix pool use count going unbalanced
| * | | simplify & inlineScott Graham2015-04-272-18/+8
| | | |
| * | | avoid calling ResumeDelayedJobs insteadScott Graham2015-04-243-10/+8
| | | |
| * | | add commentScott Graham2015-04-241-0/+3
| | | |
| * | | Fix pool use count going unbalancedScott Graham2015-04-233-9/+40
| | | |
* | | | Forward interruption signal to child processes.Nicolas Despres2015-04-242-29/+34
| | | |
* | | | Allow SIGTERM for interruption.Nicolas Despres2015-04-243-6/+38
|/ / / | | | | | | | | | | | | Default signal sent by many other programs (mainly kill(1)) to gently terminates another one is SIGTERM.
* | | Run more than 34 processes on Win32 if we have 32+ cores.Rui Ueyama2015-04-171-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | For compatiblity reason, dwNumberOfProcessors in Win32 is capped at 32. So even if your machine has more than 32 cores, Ninja spawns at most 34 subprocesses. This patch fixes the issue by using GetNativeSystemInfo, which returns the system info from Wow64 point of view, instead of GetSystemInfo.
* | | Merge pull request #954 from nico/fixNico Weber2015-04-091-1/+1
|\ \ \ | | | | | | | | Fix an assert (and tests in --debug mode) after #921.
| * | | Fix an assert (and tests in --debug mode) after #921.Nico Weber2015-04-091-1/+1
| | | |
* | | | Fix backslashes in graphviz causing incorrect rendering on windows.Spencer Judge2015-04-081-1/+4
|/ / /
* | | Don't get stuck on cyclic graphs where one edge has multiple outputs.Nico Weber2015-04-012-4/+58
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fixes #934. Plan::AddSubTarget() tracks in want_ if each edge has been visited and visits every edge only once. But Plan::CheckDependencyCycle() worked on nodes however, so if a cycle was entered through an edge with multiple outputs, ninja would fail to detect that cycle. Move cycle detection to look for duplicate edges instead of nodes to fix this. The extra jump makes CheckDependencyCycle() a bit slower: for a synthetic build file with 10000 serial build steps, `ninja -n` now takes 0.32s instead of 0.26s before on my laptop. In practice, projects have a dependency change length on the order of 50, so there shouldn't be a noticeable slowdown in practice. (If this does end up being a problem: CheckDependencyCycle() currently does O(n) work and is called O(m) times from AddSubTarget(), so I think cycle checking is O(n^2) in the build depth. So instead of worrying about constant overhead, we could use a set<> instead of a stack<>. But it doesn't seem to be a problem in practice.)
* | | Cleanup: Don't search stack for cycle elements twice.Nico Weber2015-04-011-4/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The common case is that there is no cycle. In that case, CheckDependencyCycle() searched the stack for a dupe from the back, wouldn't find one, and return false. If there was a cycle, it would then search again from the front (probably because the push_back() that used to be here would invalidate the ri iterator). Since the push_back() is gone, just search from the front once. No intended behavior change.
* | | Cleanup: Make stack a const ref now that it's no longer modified.Nico Weber2015-04-012-8/+10
| | |