summaryrefslogtreecommitdiffstats
path: root/src/ninja.cc
Commit message (Collapse)AuthorAgeFilesLines
* move BuildLog to DependencyScanEvan Martin2012-09-041-3/+3
| | | | | | | The build log is needed in computing whether an edge is dirty, so I think it belongs here. (It's a bit weird that Builder needs to reach into it to record completed commands, maybe it will become cleaner with more thought.)
* pass Builder as arg to build-running functionsEvan Martin2012-09-041-15/+15
| | | | Reducing use of globals.
* remove config from BuildLog, rename membersEvan Martin2012-09-021-4/+5
|
* make it more explicit that a bad build log causes us to rebuildEvan Martin2012-08-171-0/+5
| | | | | (Committing this on top of b56fe80 since they're related, but I may end up reverting both.)
* rename -V to --version and clean up --help outputEvan Martin2012-08-131-9/+8
|
* fix windows buildEvan Martin2012-08-081-1/+1
|
* use DiskInterface to create the build directoryEvan Martin2012-08-071-8/+11
| | | | | | | | | | Fixes issue #392 (didn't handle creating nested build dirs right). Moves MakeDir out of util.h; all code should go through DiskInterface to simplify testing. Moves ownership of the DiskInterface into the client of the Builder, which also allows removing some code that reached inside the object as well as a minor leak.
* use chdir() define from util.hEvan Martin2012-07-281-4/+0
|
* move processor-count code to util.ccEvan Martin2012-07-281-25/+1
|
* note that -l doesn't work on windowsEvan Martin2012-07-281-0/+3
| | | | Filed issue #386 about it too.
* also build with msvcPeter Kümmel2012-07-271-1/+5
|
* rearrange minidump patch to match ninja code styleEvan Martin2012-07-271-34/+45
|
* Merge branch 'set_terminate' of git://github.com/gmoudry/ninja into minidumpEvan Martin2012-07-271-0/+35
|\ | | | | | | | | | | | | (This likely doesn't compile, just getting all the history in place.) Conflicts: src/util.cc
| * Changed #ifdef _WIN32 to #ifdef _MSC_VER to make sure that MinGW compiles ↵Jiri Moudry2012-04-261-1/+1
| | | | | | | | happily
| * Improve handling of fatal errors on Windows, support creation of minidumpsJiri Moudry2012-03-281-0/+35
| |
* | Don't print 'Entering directory' when running tools.Nico Weber2012-07-251-1/+4
| |
* | Rename parsers.* to manifest_parser.*Thiago Farina2012-07-091-1/+1
| | | | | | | | | | | | So it matches with the class name in there. Signed-off-by: Thiago Farina <tfarina@chromium.org>
* | include version numberEvan Martin2012-05-081-2/+10
| |
* | No need to convert log_path to c-string. Two places.Thiago Farina2012-05-061-4/+3
| | | | | | | | Signed-off-by: Thiago Farina <tfarina@chromium.org>
* | Merge pull request #274 from polrop/max_load_averageEvan Martin2012-04-281-2/+11
|\ \ | | | | | | Max load average
| * | Add -l N option to limit the load average.Nicolas Despres2012-04-191-2/+11
| | | | | | | | | | | | | | | | | | | | | This is similar to GNU make -l/--load-average option. It limits the number of job started if the load average exceed the given value. It can be very useful when running ninja on a continuous integration server where we want to use parallelism as much as possible without overloading the server.
* | | suggest ninja -h when someone runs 'ninja help'Evan Martin2012-04-261-0/+2
| | |
* | | add support for -d explain to help debug why rules are runningScott Graham2012-04-131-2/+7
|/ /
* | Include unistd.h where neededBen Boeckel2012-03-281-0/+1
|/
* make urtle fit on 24-line terminalEvan Martin2012-03-061-1/+1
|
* Give a useful hint if the user runs "ninja clean" and there is no "clean" targetPeter Collingbourne2012-03-051-3/+7
|
* add an "urtle" toolEvan Martin2012-03-011-0/+28
|
* Do not reload the manifest if a restat cleans it while being rebuiltPeter Collingbourne2012-02-211-1/+6
|
* If a command fails, wait for all running commands to terminate before we doPeter Collingbourne2012-02-041-3/+5
| | | | | | | | | | | | | | | | | | 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.
* rearrange query/browse output to be more sensibleEvan Martin2012-01-241-18/+22
|
* only msvc needs these workaroundsPeter Kuemmel2012-01-221-1/+1
|
* windows: use _WIN32 define everywhereEvan Martin2012-01-221-5/+5
| | | | Rather than mixing use of WIN32 and _WIN32.
* windows: hash_map bucket count has different getterFrances Buontempo2012-01-111-1/+6
|
* include main hash load in -d stats outputEvan Martin2012-01-091-1/+8
|
* add a '-d stats' flag for detailed timingsEvan Martin2012-01-051-3/+28
| | | | | | 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.
* factor out the main builder callEvan Martin2012-01-051-30/+36
|
* 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.
* make Lexer::Error not emit trailing newlineEvan Martin2012-01-051-4/+1
| | | | | Now it's consistent with other errors. Fixes part of issue #187.
* allow spellcheck to be used with a vector of stringsEvan Martin2012-01-041-3/+4
|
* refactor tool list into a tableEvan Martin2012-01-041-102/+111
|
* don't attempt to build browse.* in bootstrap modeEvan Martin2012-01-041-1/+1
|
* switch the core ninja parser to use re2c for the lexerEvan Martin2011-12-291-3/+9
| | | | | | | | | - 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.
* remove huge indent from tools listEvan Martin2011-12-271-8/+8
|
* Fix the TODO in Rule class.Thiago Farina2011-12-241-2/+2
| | | | | | Move various data members to private section and provide accessors for them. Signed-off-by: Thiago Farina <tfarina@chromium.org>
* print 'entering directory' when -C is usedEvan Martin2011-12-151-0/+4
| | | | | | This allows Emacs to track what directory you're in. Patch from Ami Fischman <fischman@chromium.org>.
* Fix 'list' tool.Nicolas Despres2011-12-091-1/+1
|
* make Rule::name_ privateEvan Martin2011-12-071-5/+5
|
* make Node::out_edges_ privateEvan Martin2011-12-071-4/+4
|
* make Node::in_edge_ privateEvan Martin2011-12-071-10/+10
|
* merge FileStat into NodeEvan Martin2011-12-071-8/+8
| | | | | | The two were always one-to-one anyway. I started adding accessors to FileStat and then realized most users wanted them on Node and that forwarding them through was silly.