summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* switch the core ninja parser to use re2c for the lexerEvan Martin2011-12-2915-771/+1510
| | | | | | | | | - Delete the old "Tokenizer" code. - Write separate tests for the lexer distinct from the parser. - Switch the parser to use the new code. - New lexer error output has file:line numbers so e.g. Emacs can jump your editor to the syntax error. - The EvalEnv ($-interpolation) code is now part of the lexer as well.
* minor re2c cleanupsEvan Martin2011-12-292-7/+6
|
* handle nuls more carefully in re2c rulesEvan Martin2011-12-292-23/+34
| | | | | | | | | | - '.' in re2c matches anything except \n, which means it matches \000. Be more careful about which characters we match. - The fallback rule [^] reads ahead another character, which means it can read past the trailing \000. Add a separate rule to match it specifically. This was found by Valgrind.
* add script for measuring build performanceEvan Martin2011-12-292-4/+60
|
* ninja_syntax: add restat attribute to rulesEvan Martin2011-12-281-1/+3
| | | | Patch from Ami Fischman <fischman@chromium.org>.
* add bash completion based on zsh completionEvan Martin2011-12-281-0/+25
|
* move some docs to home pageEvan Martin2011-12-281-50/+10
|
* link to blog post in docsEvan Martin2011-12-281-5/+6
|
* add an "all" target to build all binariesEvan Martin2011-12-281-5/+14
|
* fix parser_perftest after depfile changeEvan Martin2011-12-281-1/+1
|
* de-escape backslashes in depfiles while parsingEvan Martin2011-12-284-119/+198
|
* add (failing) test involving spaces in depfilesEvan Martin2011-12-271-0/+13
|
* switch DepfileParser to take a string* to make memory clearerEvan Martin2011-12-275-30/+40
| | | | Add some comments as well.
* fix depfile regex to not match empty stringsEvan Martin2011-12-272-13/+12
| | | | From a patch from Allan Odgaard <github@simplit.com>.
* adapt parser_perftest to new depfile classEvan Martin2011-12-272-2/+5
|
* remove huge indent from tools listEvan Martin2011-12-271-8/+8
|
* rearrange the new bootstrap.pyEvan Martin2011-12-271-16/+20
| | | | (e.g. remove tabs)
* Merge branch 'master' of git://github.com/ehird/ninjaEvan Martin2011-12-277-60/+83
|\
| * Rewrite the bootstrap script in PythonElliott Hird2011-12-155-57/+76
| | | | | | | | | | | | | | This allows trouble-free builds on platforms with non-standard Python executable names. As a bonus, it passes the arguments received on to configure.py, so you don't have to reconfigure to build in a non-standard manner.
| * Support non-standard Python executable namesElliott Hird2011-12-142-3/+7
| | | | | | | | Closes #154.
* | Merge pull request #166 from tfarina/fix-commitEvan Martin2011-12-263-3/+4
|\ \ | | | | | | Follow up fix to commit 32bf74f (Fix the TODO in Rule class.)
| * | Follow up fix to commit 32bf74f (Fix the TODO in Rule class.)Thiago Farina2011-12-243-3/+4
|/ / | | | | | | Signed-off-by: Thiago Farina <tfarina@chromium.org>
* | Merge pull request #164 from tfarina/rule-private-membersEvan Martin2011-12-245-21/+23
|\ \ | | | | | | Fix the TODO in Rule class.
| * | Fix the TODO in Rule class.Thiago Farina2011-12-245-21/+23
|/ / | | | | | | | | | | Move various data members to private section and provide accessors for them. Signed-off-by: Thiago Farina <tfarina@chromium.org>
* | windows: handle ERROR_PATH_NOT_FOUNDEvan Martin2011-12-232-6/+8
| | | | | | | | From Frances <frances.buontempo@gmail.com>.
* | Merge pull request #163 from jsternberg/masterEvan Martin2011-12-231-1/+1
|\ \ | | | | | | a fix for issue #162
| * | Matching the depfile_parser.in.cc file to properly generate the ↵Jonathan Sternberg2011-12-231-1/+1
|/ / | | | | | | depfile_parser.cc file that's in version control.
* | Merge pull request #161 from nico/fixEvan Martin2011-12-222-30/+75
|\ \ | | | | | | Let ninja_syntax handle escaped spaces correctly.
| * | Let ninja_syntax handle escaped spaces correctly.Nico Weber2011-12-222-30/+75
|/ / | | | | | | | | | | Revert the main loop changes made in 2e7ab7514207ea7faad40faedf3fc9d72b3adf7a, and add just a few lines to the original main loop to make '$ ' escaping work. Add several new tests, and make the existing tests pass again.
* | revert part of c33b198 to fix build of ninja_testEvan Martin2011-12-221-1/+2
| |
* | Merge pull request #160 from tfarina/upper-case-errorEvan Martin2011-12-201-1/+1
|\ \ | | | | | | Capitalize "error" to match with the other utility functions.
| * | Capitalize "error" to match with the other utility functions.Thiago Farina2011-12-201-1/+1
|/ / | | | | | | | | | | | | Fatal and Warning functions already output their strings capitalized, we were just missing the Error function. So capitalize it now. Signed-off-by: Thiago Farina <tfarina@chromium.org>
* | Merge pull request #159 from tfarina/protect-build-log-varsEvan Martin2011-12-202-3/+8
|\ \ | | | | | | Protect BuildLog data member variables by making them private.
| * | Protect BuildLog data member variables by making them private.Thiago Farina2011-12-202-3/+8
|/ / | | | | | | | | | | | | | | | | They are not accessed outside of BuildLog and there is even a SetConfig function to set the |config_| variable. So better to make them private to BuildLog now while nobody is using it outside. Signed-off-by: Thiago Farina <tfarina@chromium.org>
* | Merge pull request #158 from tfarina/alphabetizeEvan Martin2011-12-201-3/+12
|\ \ | | | | | | Put the list of core source files in alphabetical order.
| * | Put the list of core source files in alphabetical order.Thiago Farina2011-12-201-3/+12
|/ / | | | | | | Signed-off-by: Thiago Farina <tfarina@chromium.org>
* | windows: use GetFileAttributesEx instead of statEvan Martin2011-12-202-8/+34
| | | | | | | | | | | | | | | | | | From a Hacker News comment: "Recent finding, that sped up our systems from 15->3sec on 300,000+ files filestamp check was to move from _stat to GetFileAttributesEx." I do recall reading that calls to stat() on Windows were one of the potential reasons Subversion is so slow on Windows...
* | gitignore exe filesEvan Martin2011-12-201-0/+1
| |
* | factor out windows perror equivalentEvan Martin2011-12-203-15/+25
| |
* | inline gtest to simplify windows buildEvan Martin2011-12-202-22/+25
| |
* | fix bad mergeEvan Martin2011-12-201-3/+3
| |
* | fix mingw cross-compileEvan Martin2011-12-202-5/+9
| |
* | rearrange manual to centralize quoting rulesEvan Martin2011-12-201-29/+46
| |
* | remove weird accidental double-returnEvan Martin2011-12-201-1/+0
| | | | | | | | Surprised this isn't a compiler warning.
* | Merge pull request #146 from nornagon/escape-spacesEvan Martin2011-12-205-13/+79
|\ \ | | | | | | Escape spaces
| * | Update ninja_syntax.py and tests to reflect '$ ' syntax.Jeremy Apthorp2011-11-292-13/+60
| | |
| * | Add tests for escaping spaces with '$ '.Jeremy Apthorp2011-11-281-0/+13
| | |
| * | Allow '$ ' to escape spaces in identifiers.Jeremy Apthorp2011-11-212-0/+6
| | |
* | | adjust depfile test now that parsing is more laxEvan Martin2011-12-191-2/+3
| | |
* | | handle backslashes and isolated colons in depfile parserEvan Martin2011-12-194-38/+55
| | | | | | | | | | | | | | | | | | | | | | | | The logic was wrong if the input looked like foo : bar baz with a space before the colon. Test from Frances <frances.buontempo@gmail.com>.