aboutsummaryrefslogtreecommitdiff
path: root/libbuild2/context.cxx
diff options
context:
space:
mode:
authorBoris Kolpackov <boris@codesynthesis.com>2022-05-23 14:40:07 +0200
committerBoris Kolpackov <boris@codesynthesis.com>2022-05-23 14:40:07 +0200
commit0b672184ef920d2581a0be43d27c25690ee0569d (patch)
tree12fa12ca2899c3dddfb2c996dce76d4d2aa21867 /libbuild2/context.cxx
parent73a9ca5ad8925511354ce294e7b061e0262a1f98 (diff)
Cache build.host value in context
Diffstat (limited to 'libbuild2/context.cxx')
-rw-r--r--libbuild2/context.cxx5
1 files changed, 3 insertions, 2 deletions
diff --git a/libbuild2/context.cxx b/libbuild2/context.cxx
index 7b465b4..a7df959 100644
--- a/libbuild2/context.cxx
+++ b/libbuild2/context.cxx
@@ -134,11 +134,12 @@ namespace build2
// Any variable assigned on the global scope should natually have the
// global visibility.
//
- auto set = [&gs, &vp] (const char* var, auto val)
+ auto set = [&gs, &vp] (const char* var, auto val) -> const value&
{
using T = decltype (val);
value& v (gs.assign (vp.insert<T> (var, variable_visibility::global)));
v = move (val);
+ return v;
};
// Build system mode.
@@ -268,7 +269,7 @@ namespace build2
set ("build.host.version", t.version);
set ("build.host.class", t.class_);
- set ("build.host", move (t));
+ build_host = &set ("build.host", move (t)).as<target_triplet> ();
}
catch (const invalid_argument& e)
{