diff options
author | Brad King <brad.king@kitware.com> | 2018-10-08 13:14:58 (GMT) |
---|---|---|
committer | Brad King <brad.king@kitware.com> | 2018-11-19 15:23:51 (GMT) |
commit | 8a9edb110354d5468ab42685cfece6a073146f27 (patch) | |
tree | ffe78231c4bdc8ad7e3a277a2b6b4f1822f5de0a /src/graph.cc | |
parent | 4a4f9d40e178a9a9e88f4cd502d2be49bf7938d8 (diff) | |
download | Ninja-8a9edb110354d5468ab42685cfece6a073146f27.zip Ninja-8a9edb110354d5468ab42685cfece6a073146f27.tar.gz Ninja-8a9edb110354d5468ab42685cfece6a073146f27.tar.bz2 |
Restore depfile toleration of multiple output paths on distinct lines
Prior to introduction of depfile parser handling of multiple rules,
ninja silently accepted a depfile of the form:
out: in1 in2 in3
other: otherIn1 otherIn2 otherIn3
and incorrectly treated `other` and `otherIn*` as additional inputs to
`out`. Now we prefer to reject this just as we already do for a depfile
specifying multiple outputs on one line. However, this can break
existing cases where such a depfile was silently tolerated.
Add a `-w depfilemulti={err,warn}` option to control this behavior,
and make it just a warning by default.
Diffstat (limited to 'src/graph.cc')
-rw-r--r-- | src/graph.cc | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/src/graph.cc b/src/graph.cc index b41c247..9c2f784 100644 --- a/src/graph.cc +++ b/src/graph.cc @@ -491,7 +491,9 @@ bool ImplicitDepLoader::LoadDepFile(Edge* edge, const string& path, return false; } - DepfileParser depfile; + DepfileParser depfile(depfile_parser_options_ + ? *depfile_parser_options_ + : DepfileParserOptions()); string depfile_err; if (!depfile.Parse(&content, &depfile_err)) { *err = path + ": " + depfile_err; |