summaryrefslogtreecommitdiffstats
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
* Response filesunknown2012-02-0914-9/+301
|
* Merge pull request #214 from qhuo/onpipeready-fixEvan Martin2012-02-042-2/+4
|\ | | | | Avoid using undefined value in Subprocess::OnPipeReady()
| * Avoid using undefined value in Subprocess::OnPipeReady()Qingning Huo2012-02-042-2/+4
| |
* | Merge pull request #213 from syntheticpp/evaluate-only-onceEvan Martin2012-02-041-3/+2
|\ \ | | | | | | Evaluate command only once
| * | compute command twice only in case of an errorPeter Kuemmel2012-02-041-3/+2
| |/
* | don't crash when CanonicalizePath removes all path componentsEvan Martin2012-02-042-0/+22
|/ | | | From a patch from Peter Kuemmel <syntheticpp@gmx.net>.
* Merge pull request #199 from qhuo/create-processEvan Martin2012-01-292-2/+38
|\ | | | | Mark CreateProcess "program not found" failure as non-fatal
| * Add a test, NoSuchCommand.Qingning Huo2012-01-251-0/+18
| |
| * Mark CreateProcess "program not found" failure as non-fatalQingning Huo2012-01-201-2/+20
| |
* | parse $:Peter Kuemmel2012-01-295-4/+78
| | | | | | | | | | '$:' is a valid string now, it expands to ':' update error messages and show a hint when something went wrong.
* | add colon escapingPeter Kuemmel2012-01-293-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 hereokuoku2012-01-252-1/+1
| |
* | rearrange query/browse output to be more sensibleEvan Martin2012-01-242-71/+100
| |
* | Merge pull request #204 from syntheticpp/parser-crashEvan Martin2012-01-231-1/+4
|\ \ | | | | | | Fix parser crash
| * | check access to first element of string: string could be emptyPeter Kuemmel2012-01-231-1/+4
| | |
* | | fix search&replace error on struct namePeter Kuemmel2012-01-231-1/+1
| | |
* | | no error code about too long file names on WindowsPeter Kuemmel2012-01-231-0/+6
|/ /
* | only msvc needs these workaroundsPeter Kuemmel2012-01-222-2/+4
| |
* | windows: use _WIN32 define everywhereEvan Martin2012-01-229-21/+21
|/ | | | Rather than mixing use of WIN32 and _WIN32.
* Strip ansi escape sequences from subcommand output when not writing to a ↵Nico Weber2012-01-194-2/+68
| | | | smart terminal.
* Add a test that dry run shows all commands that could be run (noneFrances Buontempo2012-01-162-1/+37
| | | | cleaned) and a fix for this
* Stop warning about chdir etc which are treated as errors on MSVC with theFrances Buontempo2012-01-162-0/+2
| | | | current settings
* BuildLog: Use Log::insert(Log::value_type()) to avoid invalid strings.Evan Jones2012-01-131-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 Martin2012-01-127-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 hashEvan Martin2012-01-121-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 windowsEvan Martin2012-01-111-4/+14
| |
| * back to murmur hashEvan Martin2012-01-091-7/+7
| |
| * remove string copy while loading depfilesEvan Martin2012-01-092-3/+3
| |
| * split canonicalizeEvan Martin2012-01-092-5/+14
| |
| * more stringpieceEvan Martin2012-01-093-9/+12
| |
| * murmur -> stl hashEvan Martin2012-01-091-1/+10
| |
| * switch node lookup to StringPieceEvan Martin2012-01-092-5/+5
| |
| * convert ExternalStringHash to use StringPieceEvan Martin2012-01-093-22/+50
| |
* | windows: hash_map bucket count has different getterFrances Buontempo2012-01-111-1/+6
| |
* | GetTempPath() needs windows.hFrances Buontempo2012-01-111-0/+4
|/
* include main hash load in -d stats outputEvan Martin2012-01-091-1/+8
|
* dynamic metrics report widthEvan Martin2012-01-061-3/+10
|
* track canonicalize metricEvan Martin2012-01-061-0/+2
|
* migrate tempdir code to test.ccEvan Martin2012-01-063-71/+108
|
* adjust restat behavior around missing outputsEvan Martin2012-01-052-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 timingsEvan Martin2012-01-055-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 stringEvan Martin2012-01-051-1/+1
|
* drop some std:: prefixesEvan Martin2012-01-051-12/+11
|
* convert all time_t to a new TimeStamp typeEvan Martin2012-01-0511-35/+64
|
* factor out the main builder callEvan Martin2012-01-051-30/+36
|
* Merge pull request #194 from evanj/newline_spacesEvan Martin2012-01-053-85/+119
|\ | | | | Lexer: include leading spaces in the newline token.
| * Lexer: include leading spaces in the newline token.Evan Jones2012-01-053-85/+119
| | | | | | | | This means that indented blank lines are skipped without causing errors.
* | Merge pull request #193 from evanj/reparse_errorEvan Martin2012-01-051-20/+32
|\ \ | | | | | | ninja.cc: Clear the rules/variables/state when reloading build.ninja
| * | ninja.cc: Clear the rules/variables/state when reloading build.ninjaEvan Jones2012-01-051-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.ccEvan Jones2012-01-051-1/+1
|/ | | | This probably should have been part of commit eeed7241