Commit message (Collapse) | Author | Age | Files | Lines | ||
---|---|---|---|---|---|---|
... | ||||||
| | * | Add comments, remove unwanted whitespace change | Petr Wolf | 2012-02-10 | 2 | -1/+11 | |
| | | | ||||||
| * | | Fix tabs, typos | PetrWolf | 2012-02-14 | 2 | -5/+5 | |
| |/ | ||||||
| * | Response files | unknown | 2012-02-09 | 14 | -9/+301 | |
| | | ||||||
* | | Merge pull request #218 from tfarina/fix-graph-todo | Evan Martin | 2012-02-22 | 3 | -7/+6 | |
|\ \ | | | | | | | Fix the TODO in graph.h. | |||||
| * | | fix depfile_ access | Thiago Farina | 2012-02-16 | 1 | -1/+1 | |
| | | | ||||||
| * | | Fix the TODO in graph.h. | Thiago Farina | 2012-02-16 | 2 | -6/+5 | |
| | | | | | | | | | | | | Signed-off-by: Thiago Farina <tfarina@chromium.org> | |||||
* | | | Merge pull request #223 from pcc/restat-clean-manifest | Evan Martin | 2012-02-22 | 1 | -1/+6 | |
|\ \ \ | | | | | | | | | Do not reload the manifest if a restat cleans it while being rebuilt | |||||
| * | | | Do not reload the manifest if a restat cleans it while being rebuilt | Peter Collingbourne | 2012-02-21 | 1 | -1/+6 | |
| |/ / | ||||||
* | | | Add a test for empty path in CanonicalizePath(). | Nicolas Despres | 2012-02-20 | 1 | -0/+3 | |
|/ / | | | | | | | | | | | | | This test covers bug fix introduced by 62e9139740. However, reverting this patch does not trigger a test failure. Maybe, I am not testing on the right platform (Linux). Anyway, in all cases I think this test deserves to be added. | |||||
* | | Merge pull request #176 from pcc/exit-cleanup | Evan Martin | 2012-02-14 | 9 | -111/+360 | |
|\ \ | | | | | | | Implement cleanup-on-interrupt | |||||
| * | | If a command fails, wait for all running commands to terminate before we do | Peter Collingbourne | 2012-02-04 | 4 | -21/+22 | |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Previously, if a command fails, the fate of the other child processes running in parallel was inadequately controlled. On POSIX platforms, the processes were orphaned. Normally they would run to completion, but were liable to being killed by a SIGPIPE. On Windows, the child processes would terminate with the parent. The cleanup-on-interrupt patch caused the SubprocessSet and Builder destructors to clean up after themselves by killing any running child processes and deleting their output files, making the behaviour more predictable and consistent across platforms. If the build is interrupted by the user, this is correct behaviour. But in the case where the build is stopped by a failed command, this would be inconsistent with user expectations. In the latter case, we now let any remaining child processes run to completion before leaving the main loop in Builder::Build. | |||||
| * | | Implement cleanup-on-interrupt | Peter Collingbourne | 2012-02-04 | 8 | -84/+318 | |
| | | | | | | | | | | | | | | | | | | | | | | | | This causes us to clean up by deleting any output files belonging to currently-running commands before we quit if we are interrupted (either by Ctrl-C or by a command failing). Fixes issue #110. | |||||
| * | | Clean up how the build line is managed at the end of the build | Peter Collingbourne | 2012-02-04 | 1 | -6/+20 | |
| | | | ||||||
* | | | graphviz: don't draw edges multiple times | Evan Martin | 2012-02-14 | 2 | -3/+9 | |
| | | | | | | | | | | | | From a patch from Ian Godin <iangodin@gmail.com>. | |||||
* | | | Made graph horizontal (better for filenames) | Ian Godin | 2012-02-14 | 1 | -0/+1 | |
| |/ |/| | ||||||
* | | Merge pull request #214 from qhuo/onpipeready-fix | Evan Martin | 2012-02-04 | 2 | -2/+4 | |
|\ \ | | | | | | | Avoid using undefined value in Subprocess::OnPipeReady() | |||||
| * | | Avoid using undefined value in Subprocess::OnPipeReady() | Qingning Huo | 2012-02-04 | 2 | -2/+4 | |
| |/ | ||||||
* | | Merge pull request #213 from syntheticpp/evaluate-only-once | Evan Martin | 2012-02-04 | 1 | -3/+2 | |
|\ \ | | | | | | | Evaluate command only once | |||||
| * | | compute command twice only in case of an error | Peter Kuemmel | 2012-02-04 | 1 | -3/+2 | |
| |/ | ||||||
* | | don't crash when CanonicalizePath removes all path components | Evan Martin | 2012-02-04 | 2 | -0/+22 | |
|/ | | | | From a patch from Peter Kuemmel <syntheticpp@gmx.net>. | |||||
* | Merge pull request #199 from qhuo/create-process | Evan Martin | 2012-01-29 | 2 | -2/+38 | |
|\ | | | | | Mark CreateProcess "program not found" failure as non-fatal | |||||
| * | Add a test, NoSuchCommand. | Qingning Huo | 2012-01-25 | 1 | -0/+18 | |
| | | ||||||
| * | Mark CreateProcess "program not found" failure as non-fatal | Qingning Huo | 2012-01-20 | 1 | -2/+20 | |
| | | ||||||
* | | parse $: | Peter Kuemmel | 2012-01-29 | 5 | -4/+78 | |
| | | | | | | | | | | '$:' is a valid string now, it expands to ':' update error messages and show a hint when something went wrong. | |||||
* | | add colon escaping | Peter Kuemmel | 2012-01-29 | 3 | -23/+37 | |
| | | | | | | | | | | | | | | | | Needed for Windows drive names. For instance configure with gtest: python configure.py --with-gtest=c$:\gtest-1.6.0 | |||||
* | | Fix cygwin build by including stdio.h here | okuoku | 2012-01-25 | 2 | -1/+1 | |
| | | ||||||
* | | rearrange query/browse output to be more sensible | Evan Martin | 2012-01-24 | 2 | -71/+100 | |
| | | ||||||
* | | Merge pull request #204 from syntheticpp/parser-crash | Evan Martin | 2012-01-23 | 1 | -1/+4 | |
|\ \ | | | | | | | Fix parser crash | |||||
| * | | check access to first element of string: string could be empty | Peter Kuemmel | 2012-01-23 | 1 | -1/+4 | |
| | | | ||||||
* | | | fix search&replace error on struct name | Peter Kuemmel | 2012-01-23 | 1 | -1/+1 | |
| | | | ||||||
* | | | no error code about too long file names on Windows | Peter Kuemmel | 2012-01-23 | 1 | -0/+6 | |
|/ / | ||||||
* | | only msvc needs these workarounds | Peter Kuemmel | 2012-01-22 | 2 | -2/+4 | |
| | | ||||||
* | | windows: use _WIN32 define everywhere | Evan Martin | 2012-01-22 | 9 | -21/+21 | |
|/ | | | | Rather than mixing use of WIN32 and _WIN32. | |||||
* | Strip ansi escape sequences from subcommand output when not writing to a ↵ | Nico Weber | 2012-01-19 | 4 | -2/+68 | |
| | | | | smart terminal. | |||||
* | Add a test that dry run shows all commands that could be run (none | Frances Buontempo | 2012-01-16 | 2 | -1/+37 | |
| | | | | cleaned) and a fix for this | |||||
* | Stop warning about chdir etc which are treated as errors on MSVC with the | Frances Buontempo | 2012-01-16 | 2 | -0/+2 | |
| | | | | current settings | |||||
* | BuildLog: Use Log::insert(Log::value_type()) to avoid invalid strings. | Evan Jones | 2012-01-13 | 1 | -2/+2 | |
| | | | | | | | The MSVC std::string implementation copies strings, so using make_pair resulted in a pointer to invalid memory. This ensures the insert uses a StringPiece without an intermediate std::string copy, so the correct pointer ends up in the hash_map. | |||||
* | Merge branch 'stringpiece-hash' | Evan Martin | 2012-01-12 | 7 | -49/+94 | |
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This branch changed the fundamental key used in hashes in Ninja from char* to StringPiece. Using StringPiece allows us to eliminate some copies and null termination in various places. While I was at it, I switched the hash function to the Murmur hash. Seems to be ~100ms faster: evmar:/work/chrome/src$ ~/projects/ninja/misc/measure.py ~/projects/ninja/ninja-trunk -C out/Debug chrome sampling: 994ms 1010ms 1000ms 999ms 1019ms 994ms 1002ms 993ms 997ms 1040ms estimate: 993ms (mean err 11.6ms) evmar:/work/chrome/src$ ~/projects/ninja/misc/measure.py ~/projects/ninja/ninja -C out/Debug chrome sampling: 888ms 895ms 891ms 886ms 896ms 888ms 891ms 903ms 895ms 888ms estimate: 886ms (mean err 5.7ms) | |||||
| * | decide on murmur hash, delete stl hash | Evan Martin | 2012-01-12 | 1 | -18/+4 | |
| | | | | | | | | | | | | | | A nice thing about working on Google: a C++ expert who happened to be writing a proposal on hashing for the next C++ version wandered into my office. He seemed to think using Murmur here is fine. | |||||
| * | make new hash work on windows | Evan Martin | 2012-01-11 | 1 | -4/+14 | |
| | | ||||||
| * | back to murmur hash | Evan Martin | 2012-01-09 | 1 | -7/+7 | |
| | | ||||||
| * | remove string copy while loading depfiles | Evan Martin | 2012-01-09 | 2 | -3/+3 | |
| | | ||||||
| * | split canonicalize | Evan Martin | 2012-01-09 | 2 | -5/+14 | |
| | | ||||||
| * | more stringpiece | Evan Martin | 2012-01-09 | 3 | -9/+12 | |
| | | ||||||
| * | murmur -> stl hash | Evan Martin | 2012-01-09 | 1 | -1/+10 | |
| | | ||||||
| * | switch node lookup to StringPiece | Evan Martin | 2012-01-09 | 2 | -5/+5 | |
| | | ||||||
| * | convert ExternalStringHash to use StringPiece | Evan Martin | 2012-01-09 | 3 | -22/+50 | |
| | | ||||||
* | | windows: hash_map bucket count has different getter | Frances Buontempo | 2012-01-11 | 1 | -1/+6 | |
| | | ||||||
* | | GetTempPath() needs windows.h | Frances Buontempo | 2012-01-11 | 1 | -0/+4 | |
|/ | ||||||
* | include main hash load in -d stats output | Evan Martin | 2012-01-09 | 1 | -1/+8 | |
| |