| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|/ / / / / |
|
| | | | | |
|
| | | | | |
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Accessing inputs_[0] when it's empty results in an assert when running
in debug. Avoid it by using data() if available.
|
|\ \ \ \ \
| | | | | |
| | | | | | |
Fix test_issue_1418 to pass on 1-core VM
|
|/ / / / /
| | | | |
| | | | |
| | | | |
| | | | | |
the previous assert would fail because on a 1-core VM, the 3 outputs
were produced sequentially from top to bottom
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
* build: constify EdgeWanted()
* build: constify a bit of CommandRunner
* graph: constify functions of struct Edge
Signed-off-by: Konstantin Kharlamov <Hi-Angel@yandex.ru>
|
|\ \ \ \ \
| | | | | |
| | | | | | |
Add CMake build file as an alternative to configure.py
|
| | | | | | |
|
| | | | | | |
|
| | | | | | |
|
| | |_|/ /
| |/| | | |
|
|\ \ \ \ \
| |/ / / /
|/| | | | |
Fix MinGW bootstrap build.
|
| | | | | |
|
|/ / / /
| | | |
| | | | |
Python 2 doesn't support nanosecond timestamps properly (see #1554).
|
| | | |
| | | |
| | | |
| | | | |
systems (#1612)
|
| | | |
| | | |
| | | |
| | | | |
* No perfstat for IBM i (OS400) AIX variant
* Allow for future IBM i to identify as 'os400'
|
|\ \ \ \
| |_|/ /
|/| | | |
Enable ninja to use > 64 CPUs on Windows
|
| | | |
| | | |
| | | |
| | | | |
processor-group Windows API
|
| | | | |
|
|\ \ \ \
| | | | |
| | | | | |
Use st_mtim if st_mtime is macro, fix #1510
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
In POSIX.1-2008, sys_stat has a st_mtim member and a st_mtime backward
compatibility macro. Should help avoid hardcoding platform detection.
|
|\ \ \ \ \
| | | | | |
| | | | | | |
fix building ninja_test on AIX 6.1
|
| | | | | | |
|
|/ / / / /
| | | | |
| | | | | |
Add escaping for sed command. Fixes #1611.
|
|\ \ \ \ \
| | | | | |
| | | | | | |
Emit "FAILED: " in red if terminal supports ANSI color output
|
| | | | | | |
|
| | | | | | |
|
| | | | | | |
|
| | | | | | |
|
| |_|/ / /
|/| | | | |
|
|\ \ \ \ \
| | | | | |
| | | | | | |
Describe how to make a phony rule always up to date
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
A phony rule with no input is always out of date. Describe how to make a
rule always up to date.
Signed-off-by: Fredrik Medley <fredrik.medley@gmail.com>
|
|\ \ \ \ \ \
| | | | | | |
| | | | | | | |
#1492 add column headers to .ninja_log
|
| | |_|/ / /
| |/| | | | |
|
|\ \ \ \ \ \
| | | | | | |
| | | | | | | |
Follow GCC/Clang behavior wrt depfiles
|
|/ / / / / /
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
The option is called "depfile = gcc" and should support depfiles created
by GCC. GCC does not escape backslashes and GNU Make does not try to
unescape it, so neither should Ninja try to "unescape" it.
Only space (' ') and hash sign ('#') are specially treated by GCC/Clang.
Note that while tabs are also treated specially by GCC, Clang does not,
so do not special case it (why would someone use tabs in a filename?).
Support for 2N trailing backslashes in a filename is a bit questionable,
but is added to be as consistent as possible with GCC/Clang.
See also
https://github.com/llvm-mirror/clang/blob/44c160f916a1b080098b17b466b026aa07475ec2/lib/Frontend/DependencyFile.cpp#L316
https://github.com/gcc-mirror/gcc/blob/22a8377023d59cc01ab0a84a1df56d0e1336efa3/libcpp/mkdeps.c#L47
Fixes https://github.com/ninja-build/ninja/issues/1262
|
| | | | | | |
|
| |_|_|/ /
|/| | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
but are no longer produced by the current manifest. For now adding a dedicated
"-t cleandead" option, since it should be run after reading the log; ideally
it should be part of the build config and done before to start looking for
dirty targets so that an incremental build would produce the same end result
as a clean build from scratch. But since I am not 100% sure to understand the
comment in the NinjaMain::isPathDead(), I opted to make it a tool for now to
avoid impacting users who want to keep those files.
The option name "cleandead" was selected insteadof something like "reap" to
keep the "clean" prefix.
|
| | | | | |
|
|\ \ \ \ \
| | | | | |
| | | | | | |
Resurrect the 'rules' tool.
|
|/ / / / /
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
This tool is useful for writing shell completion script for tools
expecting a rule name as argument.
The tool was dropped by 34b46f28c.
Fix #1024.
|
|\ \ \ \ \
| | | | | |
| | | | | | |
dyndep: dynamically discovered dependencies for Fortran and C++20 modules
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Show a simple example of Fortran module dependencies (this use case
motivated the entire dyndep feature). Also show an example of tarball
extraction, a case that few other buildsystems can handle cleanly.
|
| | | | | | |
|
| | | | | | |
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Teach the `-t graph` tool to load dyndep files because they are part of
the build graph. Issue a warning when the dyndep file cannot be loaded
cleanly. This will help users visualize the complete build graph.
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Some outputs may not be known in the main build manifest and are instead
discovered through a dyndep binding. Load dyndep files that are
available during cleaning so that we can clean these outputs too.
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
`Cleaner` provides two constructors that are the same except that one
constructs a "real" disk interface internally and the other takes a
caller-provided disk interface. A real disk interface is already
available at the only call site for the former constructor. Use it
directly and drop the unnecessary constructor variant.
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
After finishing an edge that produces a dyndep file, load the file and
update the build graph structure. Recompute the dirty state of all its
dependents and of newly reachable portions of the graph. Add edges to
the build plan that are discovered to be wanted. Finally, schedule
edges that are wanted and now ready to build.
|