aboutsummaryrefslogtreecommitdiff
path: root/build2/algorithm.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/algorithm.ixx
parentd263455d5ac0d87541144dd7a37eb6255b721a89 (diff)
Implement target_set locking, including extension update
Diffstat (limited to 'build2/algorithm.ixx')
-rw-r--r--build2/algorithm.ixx15
1 files changed, 12 insertions, 3 deletions
diff --git a/build2/algorithm.ixx b/build2/algorithm.ixx
index 365a5c4..f8e3191 100644
--- a/build2/algorithm.ixx
+++ b/build2/algorithm.ixx
@@ -32,12 +32,21 @@ namespace build2
const dir_path& dir,
const dir_path& out,
const string& name,
- const optional<string>& ext,
+ const string* ext,
const scope* scope,
const optional<string>& proj)
{
return search (
- prerequisite_key {proj, {&type, &dir, &out, &name, ext}, scope});
+ prerequisite_key {
+ proj,
+ {
+ &type,
+ &dir,
+ &out,
+ &name,
+ ext != nullptr ? optional<string> (*ext) : nullopt
+ },
+ scope});
}
template <typename T>
@@ -45,7 +54,7 @@ namespace build2
search (const dir_path& dir,
const dir_path& out,
const string& name,
- const optional<string>& ext,
+ const string* ext,
const scope* scope)
{
return static_cast<T&> (