aboutsummaryrefslogtreecommitdiff
path: root/build/parser.cxx
diff options
context:
space:
mode:
authorBoris Kolpackov <boris@codesynthesis.com>2015-02-23 15:56:03 +0200
committerBoris Kolpackov <boris@codesynthesis.com>2015-02-23 15:56:03 +0200
commitfefe0657f29b8db782f7a722dd46b074b991cf08 (patch)
tree62008e350c4f6048a68444fe50c47281643d276a /build/parser.cxx
parent962cb1040670977085f0a187ecc6730608578151 (diff)
Redo rule match/build logic
Now the rule is fully responsible for searching, matching, and building of prerequisites.
Diffstat (limited to 'build/parser.cxx')
-rw-r--r--build/parser.cxx12
1 files changed, 6 insertions, 6 deletions
diff --git a/build/parser.cxx b/build/parser.cxx
index f2b7a3f..5102c60 100644
--- a/build/parser.cxx
+++ b/build/parser.cxx
@@ -53,8 +53,8 @@ namespace build
void parser::
parse (istream& is, const path& p, scope& s)
{
- string ds (diagnostic_string (p));
- path_ = &ds;
+ string rw (diag_relative_work (p));
+ path_ = &rw;
lexer l (is, p.string ());
lexer_ = &l;
@@ -403,9 +403,9 @@ namespace build
level4 ([&]{trace (t) << "entering " << p;});
- string ds (diagnostic_string (p));
+ string rw (diag_relative_work (p));
const string* op (path_);
- path_ = &ds;
+ path_ = &rw;
lexer l (ifs, p.string ());
lexer* ol (lexer_);
@@ -475,9 +475,9 @@ namespace build
level4 ([&]{trace (t) << "entering " << p;});
- string ds (diagnostic_string (p));
+ string rw (diag_relative_work (p));
const string* op (path_);
- path_ = &ds;
+ path_ = &rw;
lexer l (ifs, p.string ());
lexer* ol (lexer_);