aboutsummaryrefslogtreecommitdiff
path: root/build2/target.ixx
diff options
context:
space:
mode:
authorBoris Kolpackov <boris@codesynthesis.com>2017-02-02 15:35:44 +0200
committerBoris Kolpackov <boris@codesynthesis.com>2017-02-13 12:42:41 +0200
commit63f6a8256e3f9fb47cb941be63baa70e2be48d3b (patch)
treed2799d1d605a27fa0a13d63f974f26fa78306e36 /build2/target.ixx
parentd263455d5ac0d87541144dd7a37eb6255b721a89 (diff)
Implement target_set locking, including extension update
Diffstat (limited to 'build2/target.ixx')
-rw-r--r--build2/target.ixx21
1 files changed, 21 insertions, 0 deletions
diff --git a/build2/target.ixx b/build2/target.ixx
index f3417aa..19e0dfa 100644
--- a/build2/target.ixx
+++ b/build2/target.ixx
@@ -4,6 +4,27 @@
namespace build2
{
+ // target
+ //
+ inline const string* target::
+ ext () const
+ {
+ slock l (targets.mutex_);
+ return *ext_ ? &**ext_ : nullptr;
+ }
+
+ inline target_key target::
+ key () const
+ {
+ const string* e (ext ());
+ return target_key {
+ &type (),
+ &dir,
+ &out,
+ &name,
+ e != nullptr ? optional<string> (*e) : nullopt};
+ }
+
// prerequisite_member
//
inline prerequisite prerequisite_member::