From b37f1aa6398065be806e6605a023189685669885 Mon Sep 17 00:00:00 2001 From: Boris Kolpackov Date: Wed, 15 Feb 2017 03:55:15 +0200 Subject: Implement parallel match --- build2/cc/windows-rpath.cxx | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) (limited to 'build2/cc/windows-rpath.cxx') 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 ()) || (f = pt->is_a ())) - 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 ()) || (f = pt->is_a ())) - 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 -- cgit v1.1