aboutsummaryrefslogtreecommitdiff
path: root/build2/cc/windows-rpath.cxx
diff options
context:
space:
mode:
authorBoris Kolpackov <boris@codesynthesis.com>2017-02-15 03:55:15 +0200
committerBoris Kolpackov <boris@codesynthesis.com>2017-03-02 14:03:34 +0200
commitb37f1aa6398065be806e6605a023189685669885 (patch)
treeb9b32091e3d70a31852302b24c99ecb62465464a /build2/cc/windows-rpath.cxx
parenta64b2ae2099346471ead988d5f2d383d55a9bf89 (diff)
Implement parallel match
Diffstat (limited to 'build2/cc/windows-rpath.cxx')
-rw-r--r--build2/cc/windows-rpath.cxx17
1 files changed, 12 insertions, 5 deletions
diff --git a/build2/cc/windows-rpath.cxx b/build2/cc/windows-rpath.cxx
index 46a3d3a..383663f 100644
--- a/build2/cc/windows-rpath.cxx
+++ b/build2/cc/windows-rpath.cxx
@@ -46,7 +46,10 @@ namespace build2
// adding to the assembly or timestamp_nonexistent if there aren't any.
//
timestamp link::
- windows_rpath_timestamp (const file& t, const scope& bs, lorder lo) const
+ windows_rpath_timestamp (const file& t,
+ const scope& bs,
+ action act,
+ lorder lo) const
{
timestamp r (timestamp_nonexistent);
@@ -91,7 +94,9 @@ namespace build2
// Ok, this is a DLL.
//
- timestamp t (l != nullptr ? l->mtime () : file_mtime (f.c_str ()));
+ timestamp t (l != nullptr
+ ? l->load_mtime ()
+ : file_mtime (f.c_str ()));
if (t > r)
r = t;
@@ -104,7 +109,7 @@ namespace build2
if ((f = a = pt->is_a<liba> ()) ||
(f = pt->is_a<libs> ()))
- process_libraries (bs, lo, sys_lib_dirs,
+ process_libraries (act, bs, lo, sys_lib_dirs,
*f, a != nullptr,
imp, lib, nullptr, true);
}
@@ -118,6 +123,7 @@ namespace build2
auto link::
windows_rpath_dlls (const file& t,
const scope& bs,
+ action act,
lorder lo) const -> windows_dlls
{
windows_dlls r;
@@ -185,7 +191,7 @@ namespace build2
if ((f = a = pt->is_a<liba> ()) ||
(f = pt->is_a<libs> ()))
- process_libraries (bs, lo, sys_lib_dirs,
+ process_libraries (act, bs, lo, sys_lib_dirs,
*f, a != nullptr,
imp, lib, nullptr, true);
}
@@ -207,6 +213,7 @@ namespace build2
void link::
windows_rpath_assembly (const file& t,
const scope& bs,
+ action act,
lorder lo,
const string& tcpu,
timestamp ts,
@@ -244,7 +251,7 @@ namespace build2
windows_dlls dlls;
if (!empty)
- dlls = windows_rpath_dlls (t, bs, lo);
+ dlls = windows_rpath_dlls (t, bs, act, lo);
// Clean the assembly directory and make sure it exists. Maybe it would
// have been faster to overwrite the existing manifest rather than