| Commit message (Collapse) | Author | Age | Files | Lines |
|\ |
|
| | |
|
| |
| |
| |
| |
| |
| | |
Now "ninja -t msvc ..." passes the "..." to the msvc helper main.
This drastically simplifies bootstrap and makes ninja a single
binary again.
|
| |
| |
| |
| | |
From https://github.com/martine/ninja/issues/410.
|
| | |
|
| | |
|
| |
| |
| |
| |
| | |
Calling bucket_count() works locally with MSVC. I wonder if some
other change in the code fixed this.
|
| |\
| | |
| | | |
Make sure no stale test file exists before running build log tests.
|
| | | |
|
| | |
| | |
| | |
| | |
| | | |
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.
|
| | | |
|
| | | |
|
| | | |
|
| | |
| | |
| | |
| | | |
This was temporarily added, and now it can be removed.
|
| | | |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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.
|
| | | |
|
| | | |
|
| |/
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Rather than passing States and DiskInterfaces through all the calls,
put the necessary ambient information in a new DependencyScan object
and move the code accordingly.
Note: I didn't move the source location of the functions to preserve
history, though this does result in a sort of weird order for the
functions in graph.cc.
|
| | |
|
| | |
|
| |
| |
| |
| |
| | |
The SpecialChars test covers a bunch of different special characters,
including tilde.
|
| | |
|
| | |
|
| |
| |
| |
| | |
That's what I get for making last-second adjustments before checking in!
|
| |
| |
| |
| |
| | |
(Committing this on top of b56fe80 since they're related,
but I may end up reverting both.)
|
| |\
| | |
| | | |
on windows a network path starts with two backslashes
|
| | | |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This could cause overbuilding (if the log is missing an entry and
the right file is already in place) but is otherwise necessary
for correctness (if a file is already in place but we don't have
a log entry for it).
|
| | |
| | |
| | |
| | | |
Modify bootstrap etc. to make use of this binary.
|
| | | |
|
| |\ \ |
|
| | | |
| | | |
| | | |
| | | |
| | | | |
Drop any #includes that look like they're referencing system headers.
This reduces the dependency information considerably.
|
| | | |
| | | |
| | | |
| | | | |
It seems to me inconsistent to normalize one but not the other.
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
(Note from Evan: this is landing Scott's code more or less verbatim
without a lot of analysis; it could maybe be simplified and reduced,
but it's only intended to be used in the MSVC helper so it's fine
to be experimental.)
|
| | | |
| | | |
| | | |
| | | | |
This is a heuristic but it appears to work for the Chrome build.
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Rather than using subprocess.h, reimplement the subprocess code.
This allows:
1) using anonymous (instead of named) pipes
2) not using all the completion port craziness
3) printing the output as it happens
4) further variation, like adjusting the environment (in a forthcoming
change) without affecting the main subprocess code
|
| | | | |
|
| | | |
| | | |
| | | |
| | | | |
This will be needed for performant builds on Windows.
|
| | | | |
|
| |/ / |
|
| | |
| | |
| | |
| | |
| | | |
Disable the size_t truncation warning. (Note that this leaves on
the other truncation-related warnings, like int->char.)
|
| |/ |
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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.
|
| |
| |
| |
| |
| |
| |
| |
| | |
`man unlink` says this is necessary, and according to a report by
Claus Klein, omitting them breaks the build on OS X 10.5 with gcc 4.7
(see issue #396).
(On Windows, ninja's util.h includes a define for unlink.)
|