aboutsummaryrefslogtreecommitdiff
path: root/libbuild2/parser.hxx
diff options
context:
space:
mode:
authorBoris Kolpackov <boris@codesynthesis.com>2019-08-22 14:38:57 +0200
committerBoris Kolpackov <boris@codesynthesis.com>2019-08-23 18:14:07 +0200
commit5035f4ef68922ac758b1e4734e67d73c9228010b (patch)
tree271fdd5b1d6e995a058d97aacb3ac90a538d9ff1 /libbuild2/parser.hxx
parent8793941652d6aa1c3d02b2f87f691e6d06254b7d (diff)
Introduce notion of build context
All non-const global state is now in class context and we can now have multiple independent builds going on at the same time.
Diffstat (limited to 'libbuild2/parser.hxx')
-rw-r--r--libbuild2/parser.hxx6
1 files changed, 5 insertions, 1 deletions
diff --git a/libbuild2/parser.hxx b/libbuild2/parser.hxx
index 79cbead..2f70a18 100644
--- a/libbuild2/parser.hxx
+++ b/libbuild2/parser.hxx
@@ -22,6 +22,7 @@ namespace build2
{
class scope;
class target;
+ class context;
class prerequisite;
class LIBBUILD2_SYMEXPORT parser
@@ -31,7 +32,8 @@ namespace build2
// should only be bootstrapped.
//
explicit
- parser (bool boot = false): fail ("error", &path_), boot_ (boot) {}
+ parser (context& c, bool boot = false)
+ : fail ("error", &path_), ctx (c), boot_ (boot) {}
// Issue diagnostics and throw failed in case of an error.
//
@@ -645,6 +647,8 @@ namespace build2
const fail_mark fail;
protected:
+ context& ctx;
+
bool pre_parse_ = false;
bool boot_;