| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
| |
The return type of CollectTarget() is Node, so we should return NULL in the
failure case instead of false.
src/ninja.cc:188:16: warning: initialization of pointer of type 'Node *' to null from a constant boolean expression [-Wbool-conversion]
return false;
^~~~~
Signed-off-by: Thiago Farina <tfarina@chromium.org>
|
|\
| |
| | |
refactoring: decompose CollectTargetsFromArgs
|
| | |
|
|\ \
| | |
| | | |
Allocate disk_interface near where it's needed.
|
| | |
| | |
| | |
| | |
| | |
| | | |
This avoids allocating disk_interface unnecessarily.
Signed-off-by: Thiago Farina <tfarina@chromium.org>
|
|\ \ \
| |_|/
|/| | |
Minor improvements to ninja : Different exit code if user presses Ctrl-C, add eclipse to .gitignore, Improve an error message
|
| | |
| | |
| | |
| | | |
Change-Id: I7be958e18eb2e434e78afb6e03b332281a651957
|
| |/
|/|
| |
| | |
Signed-off-by: Thiago Farina <tfarina@chromium.org>
|
| |
| |
| |
| |
| |
| |
| | |
getopt_long(3) was reporting "ninja: invalid option -- h" when "ninja -h" was
called.
Regression most probably introduced by 5fdb12ed5cec4e1c853c64026142d088ff5519e1
|
| |
| |
| |
| |
| |
| | |
Note: _WIN32 is used instead of WIN32 to enable builds with MSVC
IDE, Windows SDK non-IDE command line tools, and mingw/mingw-w64
based toolchains
|
|/
|
|
|
|
| |
Remove now-unimplemented 'V' from getopt_long. Remove 'h', since it's
included in the long options. Order switch cases in the same order as in
the getopt_long argument.
|
| |
|
|
|
|
|
|
| |
Now "ninja -t msvc ..." passes the "..." to the msvc helper main.
This drastically simplifies bootstrap and makes ninja a single
binary again.
|
|
|
|
|
| |
Calling bucket_count() works locally with MSVC. I wonder if some
other change in the code fixed this.
|
|
|
|
|
| |
This will be necessary to inline msvc-helper as well as so -t graph
can get depfiles.
|
| |
|
| |
|
|
|
|
| |
Now "ninja -t list" works from any directory.
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
| |
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.)
|
|
|
|
| |
Reducing use of globals.
|
| |
|
|
|
|
|
| |
(Committing this on top of b56fe80 since they're related,
but I may end up reverting both.)
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
| |
|
|
|
|
| |
Filed issue #386 about it too.
|
| |
|
| |
|
|\
| |
| |
| |
| |
| |
| | |
(This likely doesn't compile, just getting all the history in place.)
Conflicts:
src/util.cc
|
| |
| |
| |
| | |
happily
|
| | |
|
| | |
|
| |
| |
| |
| |
| |
| | |
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.
|