| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
| |
It can be useful in conjunction with the 'targets' tool for writing shell
completion scripts and when debugging.
|
|
|
|
|
|
|
|
|
|
|
| |
This tool list targets by depth or by rule. It can be useful:
- for shell completion script ;
- to know what are the primary targets: ninja -t targets depth 1 ;
- to know targets that are linked: ninja -t rule link ;
- when debugging.
It works by first listing the root nodes and then following the input nodes
of their in edge.
|
|
|
|
|
|
| |
Can be useful when calling ninja from a script or a code editor or in many
other occasions. It costs nothing and does not bring more complexity, so
I think we can afford it.
|
| |
|
|
|
|
| |
Adjust tools options parser and documentation.
|
|
|
|
|
| |
It has been introduced by 761a3c when ManifestParser::set_root() existed.
It is no longer the case so we can save some time querying it now.
|
| |
|
| |
|
|
|
|
|
| |
This way we get the error message prefixed by the program name. It helps
while debugging.
|
|
|
|
|
|
| |
It make it easier while debugging to know who is reporting the error:
Ninja itself or one of the command called by Ninja during the build
process or one of the generator which called Ninja.
|
| |
|
|
|
|
|
| |
This will make the build log compaction work on Windows.
It will also make the tests no longer leave a temp log file around.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
| |
Null build of Chrome:
before I added extra calls to CanonicalizePath: 1.25s.
with extra calls to CanonicalizePath: 1.35s.
with new CanonicalizePath: 1.05s.
And now CanonicalizePath isn't hot on profiles anymore.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
I'm not entirely happy with my solution. I think Ninja should
always use canonicalized paths internally, so we should canonicalize
all paths as we receive them (from the command line and from build
files). But there are other places where we pass paths around
(like in all the tool commands) and I don't want to add manual calls
to canonicalize in each.
Perhaps the longer-term solution is to add some sort of
GetNodeCanonicalize() to State and then make all of the functions that
work with paths as strings (like Builder::AddTarget or RunBrowsePython)
instead only accept a Node*.
|
| |
|
| |
|
|\ |
|
| | |
|
|\ \
| |/
| |
| |
| |
| | |
Conflicts:
src/util.cc
src/util.h
|
| | |
|
| |
| |
| |
| |
| |
| | |
It make it easier while debugging to know who is reporting the error:
Ninja itself or one of the command called by Ninja during the build
process or one of the generator which called Ninja.
|
| |
| |
| |
| | |
I (Evan) got this wrong in the previous commit.
|
| | |
|
| |
| |
| |
| | |
This function was removed on 01880fb3a2a13f9071e9729c3a13752846828ed2.
|
|/
|
|
|
|
| |
Also add util_test.cc and move the CanonicalizePathTest into there.
Signed-off-by: Thiago Farina <tfarina@chromium.org>
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
| |
Relying on the inline-assembly trick was cute but it didn't work on
other platforms; relying on xxd will make us depend on xxd being
available. Instead, inline browse.py into a header using a shell
script.
(Making this work required fixing multiple bugs in ninja...)
|
|
|
|
|
|
|
| |
This is just deleting some code that was written in anticipation
of staying memory-resident; when loading a depfile, we don't need
to attempt to update existing entries in the dependency list, we
just need to blindly add them.
|
|
|
|
|
|
|
|
|
| |
If a C file #includes "../foo.cc", then gcc will emit paths like
"bar/../foo.cc" into the dependency file; canonicalize these when we
load the file.
Add a test module for testing the graph dirty recomputation directly,
without all the build classes around it.
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
| |
Instead, pass the script code via stdin.
We end up with a zombie (the child process that passes the script code)
because we can't ignore SIGCHLD in the parent (the Python code relies on
being able to wait for children), but the zombie dies with the outer
process. This probably could be avoided by double-forking or other
approaches, but it doesn't seem worth the effort.
|
| |
|
| |
|
| |
|
|
|
|
| |
From a conversation with Anatol Pomazau <anatol@google.com>.
|
|
|
|
|
|
| |
Previously we showed the full command line, but with this change
we only show the full command line in verbose mode or when the
command fails.
|