| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
| |
So it matches with the class name in there.
Signed-off-by: Thiago Farina <tfarina@chromium.org>
|
| |
|
|
|
|
| |
Signed-off-by: Thiago Farina <tfarina@chromium.org>
|
|\
| |
| | |
Max load average
|
| |
| |
| |
| |
| |
| |
| | |
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.
|
| | |
|
|/ |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
| |
|
|
|
|
| |
Rather than mixing use of WIN32 and _WIN32.
|
| |
|
| |
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
|
| |
This error was introduced in commit 4f6f015b. Previously, the reload goto
label created a new State. This now does the same, manually.
|
|
|
|
|
| |
Now it's consistent with other errors.
Fixes part of issue #187.
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
| |
- 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.
|
| |
|
|
|
|
|
|
| |
Move various data members to private section and provide accessors for them.
Signed-off-by: Thiago Farina <tfarina@chromium.org>
|
|
|
|
|
|
| |
This allows Emacs to track what directory you're in.
Patch from Ami Fischman <fischman@chromium.org>.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
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.
|
| |
|
| |
|
|
|
|
|
| |
Fits the -h output on one screen again, and allows more whitespace
in both the -h output and the tool list.
|
|
|
|
| |
It was firing too often, and hadn't uncovered any bugs.
|
| |
|
|
|
|
|
|
|
| |
Fix triggered warnings:
- unused parameter
- type qualifiers ignored on function return type
- missing initializer for member
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
1. For targets, when invoking ninja to build a target.
2. For targets, when doing a "query" command.
3. For command names.
4. For the subcommands of the "targets" command.
Also change CmdTargets() to call LookupNode() instead of GetNode() --
since the result was checked for NULL, that's probably what was intended
here originally.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This tool performs a post-order traversal of the build graph, starting
from a list of targets specified on the command line, and for each
build statement encountered, prints the evaluated command line.
Use cases include:
- Generating input for a tool which needs to know the full command line
for every command invoked during a build. Many static analysis
and indexing tools require this information.
- Generating a build script which does not depend on Ninja.
For example, such a script could be used by Ninja to bootstrap
itself.
|
|
|
|
|
|
| |
Since we have started using command line flags for the clean tool, it
is inconsistent to keep the "target" and "rule" prefixes. Replace them
with a "-r" flag with the same semantics as "rule".
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Introduce a rule attribute "generator" which, if present, specifies
that this rule is used to re-invoke the generator program. Files built
using generator rules are treated specially in two ways: firstly,
they will not be rebuilt if the command line changes; and secondly,
they are not cleaned by default.
A command line flag "-g" is introduced for the clean tool, which
causes it to remove generator files.
Fixes issue #102.
|
| |
|
|
|
|
| |
Fixes part of issue 121, but the fix exposed a further issue.
|
|
|
|
| |
e.g. "ninja src/graph.cc^" builds the object file generated from that input
|
| |
|
| |
|