summaryrefslogtreecommitdiffstats
path: root/src/depfile_parser.h
diff options
context:
space:
mode:
authorJan Niklas Hasse <jhasse@bixense.com>2019-01-30 18:57:52 (GMT)
committerJan Niklas Hasse <jhasse@bixense.com>2019-01-30 18:57:52 (GMT)
commit6d5a4b9eb973e9d82d63f8f9a421fad97d20e6d0 (patch)
treeb427025388b026f169a135343c8a275379314127 /src/depfile_parser.h
parent253e94c1fa511704baeb61cf69995bbf09ba435e (diff)
parent0c158431f30a14d771e5c82c1e69eff7c69a08ce (diff)
downloadNinja-6d5a4b9eb973e9d82d63f8f9a421fad97d20e6d0.zip
Ninja-6d5a4b9eb973e9d82d63f8f9a421fad97d20e6d0.tar.gz
Ninja-6d5a4b9eb973e9d82d63f8f9a421fad97d20e6d0.tar.bz2
Merge branch 'master' into release
Diffstat (limited to 'src/depfile_parser.h')
-rw-r--r--src/depfile_parser.h17
1 files changed, 17 insertions, 0 deletions
diff --git a/src/depfile_parser.h b/src/depfile_parser.h
index 1e6ebb5..be20374 100644
--- a/src/depfile_parser.h
+++ b/src/depfile_parser.h
@@ -21,8 +21,24 @@ using namespace std;
#include "string_piece.h"
+enum DepfileDistinctTargetLinesAction {
+ kDepfileDistinctTargetLinesActionWarn,
+ kDepfileDistinctTargetLinesActionError,
+};
+
+struct DepfileParserOptions {
+ DepfileParserOptions()
+ : depfile_distinct_target_lines_action_(
+ kDepfileDistinctTargetLinesActionWarn) {}
+ DepfileDistinctTargetLinesAction
+ depfile_distinct_target_lines_action_;
+};
+
/// Parser for the dependency information emitted by gcc's -M flags.
struct DepfileParser {
+ explicit DepfileParser(DepfileParserOptions options =
+ DepfileParserOptions());
+
/// Parse an input file. Input must be NUL-terminated.
/// Warning: may mutate the content in-place and parsed StringPieces are
/// pointers within it.
@@ -30,6 +46,7 @@ struct DepfileParser {
StringPiece out_;
vector<StringPiece> ins_;
+ DepfileParserOptions options_;
};
#endif // NINJA_DEPFILE_PARSER_H_