aboutsummaryrefslogtreecommitdiff
path: root/build2/parser.hxx
diff options
context:
space:
mode:
authorBoris Kolpackov <boris@codesynthesis.com>2018-11-16 14:00:07 +0200
committerBoris Kolpackov <boris@codesynthesis.com>2018-11-16 14:00:07 +0200
commit655121741560d62c1ae82c13a9d2aad18f130603 (patch)
tree6b14cd73073a0f2d1ad3ad46cc8d157a838beba9 /build2/parser.hxx
parent17609d9831e592f5985ed1bfb1ef59f712025ae9 (diff)
Implement support for dependency chains
Now instead of: ./: exe{foo} exe{foo}: cxx{*} We can write: ./: exe{foo}: cxx{*} Or even: ./: exe{foo}: libue{foo}: cxx{*} This can be combined with prerequisite-specific variables (which naturally only apply to the last set of prerequisites in the chain): ./: exe{foo}: libue{foo}: bin.whole = false
Diffstat (limited to 'build2/parser.hxx')
-rw-r--r--build2/parser.hxx9
1 files changed, 7 insertions, 2 deletions
diff --git a/build2/parser.hxx b/build2/parser.hxx
index dfb4c6b..582f925 100644
--- a/build2/parser.hxx
+++ b/build2/parser.hxx
@@ -67,15 +67,20 @@ namespace build2
// If one is true then parse a single (logical) line (logical means it
// can actually be several lines, e.g., an if-block). Return false if
- // nothing has been parsed (i.e., we are on the same token).
+ // nothing has been parsed (i.e., we are still on the same token).
//
- // Note that after this function returns, the token is the first token on
+ // Note that after this function returns, the token is the first token of
// the next line (or eos).
//
bool
parse_clause (token&, token_type&, bool one = false);
void
+ parse_dependency (token&, token_type&,
+ names&&, const location&,
+ names&&, const location&);
+
+ void
parse_assert (token&, token_type&);
void