aboutsummaryrefslogtreecommitdiff
path: root/build/parser.cxx
diff options
context:
space:
mode:
authorBoris Kolpackov <boris@codesynthesis.com>2015-03-24 08:53:06 +0200
committerBoris Kolpackov <boris@codesynthesis.com>2015-03-24 08:53:06 +0200
commita94dcda7f00b10cb22b5f2138b1c29bcfbe7de37 (patch)
treec4ca2c4b2ea08285774569283120233a03aa2cb3 /build/parser.cxx
parenteaaa82bd9c1e24a83dcea3857f5fd75d0dfb6de5 (diff)
Make meta-operations control build loop; add disfigure skeleton
Diffstat (limited to 'build/parser.cxx')
-rw-r--r--build/parser.cxx11
1 files changed, 6 insertions, 5 deletions
diff --git a/build/parser.cxx b/build/parser.cxx
index 4e8987e..c87a04a 100644
--- a/build/parser.cxx
+++ b/build/parser.cxx
@@ -112,10 +112,10 @@ namespace build
include (t, tt);
continue;
}
- else if (n == "load")
+ else if (n == "using")
{
next (t, tt);
- load (t, tt);
+ using_ (t, tt);
continue;
}
}
@@ -567,7 +567,8 @@ namespace build
scope_ = &scopes[out_base];
scope_->variables["out_base"] = move (out_base);
- scope_->variables["src_base"] = move (src_base);
+ auto v (scope_->variables["src_base"] = move (src_base));
+ scope_->src_path_ = &v.as<const path&> ();
target* odt (default_target_);
default_target_ = nullptr;
@@ -597,9 +598,9 @@ namespace build
}
void parser::
- load (token& t, token_type& tt)
+ using_ (token& t, token_type& tt)
{
- tracer trace ("parser::load", &path_);
+ tracer trace ("parser::using", &path_);
// The rest should be a list of module names. Parse them as names
// to get variable expansion, etc.