| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
| |/ / /
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Some people like to construct phony target names by appending a
"/something" suffix to an existing target "foo". But if "foo" is an
existing file, stat will report ENOTDIR for this path, causing ninja
to spew errors. Fix this by treating ENOTDIR in the same way as we
do ENOENT -- as a non-existent path.
|
| | | | |
|
| | | | |
|
| | | | |
|
|\ \ \ \
| | | | |
| | | | | |
Mark a phony target with no inputs as outputs-ready
|
| |/ / /
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Even if such a target is dirty (i.e. the file does not exist), it
has nothing to do, which makes it safe to mark as outputs-ready.
Without this change, ninja will print no output when rebuilding the
target (or an order-only dependency thereof), instead of reporting
it has "no work to do".
|
|\ \ \ \
| |/ / /
|/| | | |
Give a useful hint if the user runs "ninja clean" and there is no "clean...
|
|/ / / |
|
|\ \ \
| | | |
| | | | |
Be more selective about deleting output files when interrupted
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Specifically, only delete if the file was modified or if the rule uses
a depfile.
Fixes issue #226.
|
|/ / / |
|
|\ \ \
| |_|/
|/| | |
[win32] Overprint the previous line if we're attached to a console
|
|/ / |
|
| | |
|
|\ \
| | |
| | | |
Response files
|
| |\ \ |
|
| | | | |
|
| |/ / |
|
| | | |
|
|\ \ \
| | | |
| | | | |
Fix the TODO in graph.h.
|
| | | | |
|
| | | |
| | | |
| | | |
| | | | |
Signed-off-by: Thiago Farina <tfarina@chromium.org>
|
|\ \ \ \
| | | | |
| | | | | |
Do not reload the manifest if a restat cleans it while being rebuilt
|
| |/ / / |
|
|\ \ \ \
| |/ / /
|/| | | |
Add a test for empty path in CanonicalizePath().
|
|/ / /
| | |
| | |
| | |
| | |
| | |
| | | |
This test covers bug fix introduced by 62e9139740. However,
reverting this patch does not trigger a test failure. Maybe, I am
not testing on the right platform (Linux). Anyway, in all cases
I think this test deserves to be added.
|
|\ \ \
| | | |
| | | | |
Implement cleanup-on-interrupt
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
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.
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
This causes us to clean up by deleting any output files belonging
to currently-running commands before we quit if we are interrupted
(either by Ctrl-C or by a command failing).
Fixes issue #110.
|
| | | | |
|
| | | |
| | | |
| | | |
| | | | |
From a patch from Ian Godin <iangodin@gmail.com>.
|
| |/ /
|/| | |
|
| | | |
|
|\ \ \
| | | |
| | | | |
Avoid using undefined value in Subprocess::OnPipeReady()
|
| |/ / |
|
|\ \ \
| | | |
| | | | |
Evaluate command only once
|
| |/ / |
|
|/ /
| |
| |
| | |
From a patch from Peter Kuemmel <syntheticpp@gmx.net>.
|
|\ \
| | |
| | | |
windows: Disable warning C4819
|
|/ /
| |
| |
| |
| | |
warning C4819: The file contains a character that cannot be represented
in the current code page.
|
|\ \
| | |
| | | |
Mark CreateProcess "program not found" failure as non-fatal
|
| | | |
|
| | | |
|
|\ \ \
| | | |
| | | | |
add colon escaping
|
| | | |
| | | |
| | | |
| | | |
| | | | |
'$:' is a valid string now, it expands to ':'
update error messages and show a hint when something went wrong.
|
|/ / /
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Needed for Windows drive names.
For instance configure with gtest:
python configure.py --with-gtest=c$:\gtest-1.6.0
|
|\ \ \
| | | |
| | | | |
Maintain python3 compatibility for ninja_syntax.py
|
|/ / /
| | |
| | |
| | | |
Python 3 does not support map.append/extend.
|
|\ \ \
| |_|/
|/| | |
Fix cygwin build by including stdio.h here
|
|/ / |
|