aboutsummaryrefslogtreecommitdiff
path: root/libbuild2/config
diff options
context:
space:
mode:
Diffstat (limited to 'libbuild2/config')
-rw-r--r--libbuild2/config/init.cxx4
-rw-r--r--libbuild2/config/operation.cxx8
-rw-r--r--libbuild2/config/utility.cxx12
-rw-r--r--libbuild2/config/utility.txx2
4 files changed, 14 insertions, 12 deletions
diff --git a/libbuild2/config/init.cxx b/libbuild2/config/init.cxx
index 9bdfef9..6998017 100644
--- a/libbuild2/config/init.cxx
+++ b/libbuild2/config/init.cxx
@@ -29,8 +29,8 @@ namespace build2
l5 ([&]{trace << "for " << rs;});
- const string& mname (current_mname);
- const string& oname (current_oname);
+ const string& mname (rs.ctx.current_mname);
+ const string& oname (rs.ctx.current_oname);
// Only create the module if we are configuring or creating. This is a
// bit tricky since the build2 core may not yet know if this is the
diff --git a/libbuild2/config/operation.cxx b/libbuild2/config/operation.cxx
index 6abfd33..92c80b8 100644
--- a/libbuild2/config/operation.cxx
+++ b/libbuild2/config/operation.cxx
@@ -539,6 +539,8 @@ namespace build2
if (rs == nullptr)
fail << "out of project target " << t;
+ context& ctx (t.ctx);
+
const operations& ops (rs->root_extra->operations);
for (operation_id id (default_id + 1); // Skip default_id.
@@ -552,9 +554,9 @@ namespace build2
if (oif->id != id)
continue;
- rs->ctx.current_oif (*oif);
+ ctx.current_operation (*oif);
- phase_lock pl (t.ctx, run_phase::match);
+ phase_lock pl (ctx, run_phase::match);
match (action (configure_id, id), t);
}
}
@@ -916,7 +918,7 @@ namespace build2
fail (l) << "invalid module name: " << e.what ();
}
- current_oname = empty_string; // Make sure valid.
+ ctx.current_oname = empty_string; // Make sure valid.
// Now handle each target in each operation spec.
//
diff --git a/libbuild2/config/utility.cxx b/libbuild2/config/utility.cxx
index a89fac6..355e896 100644
--- a/libbuild2/config/utility.cxx
+++ b/libbuild2/config/utility.cxx
@@ -46,7 +46,7 @@ namespace build2
}
}
- if (l.defined () && current_mif->id == configure_id)
+ if (l.defined () && r.ctx.current_mif->id == configure_id)
save_variable (r, var);
return pair<lookup, bool> (l, n);
@@ -55,7 +55,7 @@ namespace build2
lookup
optional (scope& r, const variable& var)
{
- if (current_mif->id == configure_id)
+ if (r.ctx.current_mif->id == configure_id)
save_variable (r, var);
auto l (r[var]);
@@ -103,7 +103,7 @@ namespace build2
const variable& var (
rs.ctx.var_pool.rw (rs).insert ("config." + n + ".configured"));
- if (current_mif->id == configure_id)
+ if (rs.ctx.current_mif->id == configure_id)
save_variable (rs, var);
auto l (rs[var]); // Include inherited values.
@@ -118,7 +118,7 @@ namespace build2
const variable& var (
rs.ctx.var_pool.rw (rs).insert ("config." + n + ".configured"));
- if (current_mif->id == configure_id)
+ if (rs.ctx.current_mif->id == configure_id)
save_variable (rs, var);
value& x (rs.assign (var));
@@ -135,7 +135,7 @@ namespace build2
void
save_variable (scope& r, const variable& var, uint64_t flags)
{
- if (current_mif->id != configure_id)
+ if (r.ctx.current_mif->id != configure_id)
return;
// The project might not be using the config module. But then how
@@ -148,7 +148,7 @@ namespace build2
void
save_module (scope& r, const char* name, int prio)
{
- if (current_mif->id != configure_id)
+ if (r.ctx.current_mif->id != configure_id)
return;
if (module* m = r.lookup_module<module> (module::name))
diff --git a/libbuild2/config/utility.txx b/libbuild2/config/utility.txx
index 841c408..9c1455f 100644
--- a/libbuild2/config/utility.txx
+++ b/libbuild2/config/utility.txx
@@ -19,7 +19,7 @@ namespace build2
{
// Note: see also omitted() if changing anything here.
- if (current_mif->id == configure_id)
+ if (root.ctx.current_mif->id == configure_id)
save_variable (root, var, save_flags);
pair<lookup, size_t> org (root.find_original (var));