aboutsummaryrefslogtreecommitdiff
path: root/build/scope
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/scope
parenteaaa82bd9c1e24a83dcea3857f5fd75d0dfb6de5 (diff)
Make meta-operations control build loop; add disfigure skeleton
Diffstat (limited to 'build/scope')
-rw-r--r--build/scope7
1 files changed, 6 insertions, 1 deletions
diff --git a/build/scope b/build/scope
index e74c7bc..26a4e03 100644
--- a/build/scope
+++ b/build/scope
@@ -25,6 +25,9 @@ namespace build
const path_type&
path () const {return i_->first;} // Absolute and normalized.
+ const path_type&
+ src_path () const {return *src_path_;} // Corresponding src path.
+
scope*
parent () const {return parent_;}
@@ -37,6 +40,8 @@ namespace build
value_proxy
operator[] (const variable&);
+ const path_type* src_path_ {nullptr}; // Cached src_{root,base} var value.
+
private:
friend class scope_map;
@@ -61,7 +66,7 @@ namespace build
operation_table operations;
// Set of buildfiles already loaded for this scope. The included
- // buildfiles are checked against project root scope while
+ // buildfiles are checked against the project's root scope while
// imported -- against the overall root scope (root_scope).
//
std::unordered_set<path_type> buildfiles;