Commit message (Collapse) | Author | Age | Files | Lines | ||
---|---|---|---|---|---|---|
... | ||||||
* | 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 | |
| | ||||||
* | dynamic metrics report width | Evan Martin | 2012-01-06 | 1 | -3/+10 | |
| | ||||||
* | track canonicalize metric | Evan Martin | 2012-01-06 | 1 | -0/+2 | |
| | ||||||
* | migrate tempdir code to test.cc | Evan Martin | 2012-01-06 | 3 | -71/+108 | |
| | ||||||
* | adjust restat behavior around missing outputs | Evan Martin | 2012-01-05 | 2 | -8/+34 | |
| | | | | | | | If a restat rule claims to write an output but doesn't, consider it "no change" (in the restat sense) if the output didn't exist beforehand. I.e. if the output didn't exist before and the output doesn't exist after, we don't need to run dependent rules. | |||||
* | add a '-d stats' flag for detailed timings | Evan Martin | 2012-01-05 | 5 | -3/+205 | |
| | | | | | | 1) Add a system for recording detailed timing info of functions. 2) Add a -d flag for requesting debug info at runtime, with the above as the first user. | |||||
* | windows: don't use \e in string | Evan Martin | 2012-01-05 | 1 | -1/+1 | |
| | ||||||
* | drop some std:: prefixes | Evan Martin | 2012-01-05 | 1 | -12/+11 | |
| | ||||||
* | convert all time_t to a new TimeStamp type | Evan Martin | 2012-01-05 | 11 | -35/+64 | |
| | ||||||
* | factor out the main builder call | Evan Martin | 2012-01-05 | 1 | -30/+36 | |
| | ||||||
* | Merge pull request #194 from evanj/newline_spaces | Evan Martin | 2012-01-05 | 3 | -85/+119 | |
|\ | | | | | Lexer: include leading spaces in the newline token. | |||||
| * | Lexer: include leading spaces in the newline token. | Evan Jones | 2012-01-05 | 3 | -85/+119 | |
| | | | | | | | | This means that indented blank lines are skipped without causing errors. | |||||
* | | Merge pull request #193 from evanj/reparse_error | Evan Martin | 2012-01-05 | 1 | -20/+32 | |
|\ \ | | | | | | | ninja.cc: Clear the rules/variables/state when reloading build.ninja | |||||
| * | | ninja.cc: Clear the rules/variables/state when reloading build.ninja | Evan Jones | 2012-01-05 | 1 | -20/+32 | |
| |/ | | | | | | | | | This error was introduced in commit 4f6f015b. Previously, the reload goto label created a new State. This now does the same, manually. | |||||
* | | Lexer: Remove the trailing newline from lexer.in.cc not just lexer.cc | Evan Jones | 2012-01-05 | 1 | -1/+1 | |
|/ | | | | This probably should have been part of commit eeed7241 | |||||
* | test error message of ManifestParser::Load | Evan Martin | 2012-01-05 | 2 | -3/+13 | |
| | | | | Fixes the other half of issue #187. | |||||
* | make Lexer::Error not emit trailing newline | Evan Martin | 2012-01-05 | 4 | -24/+21 | |
| | | | | | Now it's consistent with other errors. Fixes part of issue #187. | |||||
* | make my last change actually work | Evan Martin | 2012-01-05 | 2 | -7/+8 | |
| | ||||||
* | remove build_log v1/v2 code | Evan Martin | 2012-01-05 | 1 | -24/+14 | |
| | ||||||
* | Lexer: include leading whitespace in the comment token. | Evan Jones | 2012-01-05 | 3 | -61/+82 | |
| | | | | Indented comments are ignored rather than causing errors. | |||||
* | Switch build log to use tabs as field separators, to support outputs with ↵ | Nico Weber | 2012-01-05 | 2 | -6/+28 | |
| | | | | spaces. | |||||
* | allow spellcheck to be used with a vector of strings | Evan Martin | 2012-01-04 | 3 | -16/+27 | |
| | ||||||
* | refactor tool list into a table | Evan Martin | 2012-01-04 | 1 | -102/+111 | |
| | ||||||
* | don't attempt to build browse.* in bootstrap mode | Evan Martin | 2012-01-04 | 1 | -1/+1 | |
| | ||||||
* | Merge pull request #175 from nornagon/escape-in-out | Evan Martin | 2012-01-04 | 2 | -1/+17 | |
|\ | | | | | When expanding $in and $out, wrap with quotes if the filename has a space. | |||||
| * | Add a test for quoting spaces in expanded $in and $out. | Jeremy Apthorp | 2012-01-04 | 1 | -0/+9 | |
| | | ||||||
| * | When expanding $in and $out, wrap with quotes if the filename has a space. | Jeremy Apthorp | 2012-01-02 | 1 | -1/+8 | |
| | | ||||||
* | | windows: more build fixes | Scott Graham | 2012-01-04 | 4 | -6/+13 | |
| | | ||||||
* | | Add a space to unexpected token errors. | Evan Jones | 2012-01-04 | 2 | -1/+8 | |
| | | ||||||
* | | Use ExitProcess instead of exit in Fatal to allow extra cleanup for MSVC | Frances Buontempo | 2012-01-04 | 1 | -0/+8 | |
| | | ||||||
* | | windows: make bootstrap.py/configure.py work with MSVC | Scott Graham | 2012-01-04 | 3 | -1/+7 | |
| | | ||||||
* | | Add new line to new file | Frances Buontempo | 2012-01-03 | 1 | -2/+3 | |
| | | ||||||
* | | typedef long long for MSVC | Frances Buontempo | 2012-01-03 | 2 | -0/+13 | |
| | | ||||||
* | | Merge pull request #179 from polrop/fix-clang-warning | Evan Martin | 2012-01-03 | 1 | -1/+1 | |
|\ \ | | | | | | | Fix warning about class previously declared as struct. |