diff options
author | Boris Kolpackov <boris@codesynthesis.com> | 2021-08-09 10:48:19 +0200 |
---|---|---|
committer | Boris Kolpackov <boris@codesynthesis.com> | 2021-08-09 10:48:19 +0200 |
commit | be30decf3f777786a44b12920ac2d273b1c8d1f8 (patch) | |
tree | 12387f284a822fa1aa0e09ecfbdea8e24405d8c8 /libbuild2/cc/functions.cxx | |
parent | eaeeb079c1715b5b0ecc0b20bd4e5f45d0655452 (diff) |
Merge library hashing and collection into single traversal pass
It turns out this is a lot faster on deeply-dependent libraries like Boost
while not having any noticeable differences for "sane" projects.
Diffstat (limited to 'libbuild2/cc/functions.cxx')
-rw-r--r-- | libbuild2/cc/functions.cxx | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/libbuild2/cc/functions.cxx b/libbuild2/cc/functions.cxx index 0394524..7f9a6c2 100644 --- a/libbuild2/cc/functions.cxx +++ b/libbuild2/cc/functions.cxx @@ -224,7 +224,8 @@ namespace build2 action a, const file& l, bool la, linfo li) { m.append_library_options ( - *static_cast<appended_libraries*> (ls), r, bs, a, l, la, li); + *static_cast<appended_libraries*> (ls), r, + bs, a, l, la, li); }}); // $<module>.find_system_header(<name>) @@ -322,9 +323,10 @@ namespace build2 bool self (vs.size () > 3 ? convert<bool> (vs[3]) : true); - m.append_libraries (*static_cast<appended_libraries*> (ls), r, - bs, - a, l, la, lf, li, self, rel); + m.append_libraries ( + *static_cast<appended_libraries*> (ls), r, + nullptr /* sha256 */, nullptr /* update */, timestamp_unknown, + bs, a, l, la, lf, li, self, rel); }}); // $<module>.lib_rpaths(<lib-targets>, <otype> [, <link> [, <self>]]) @@ -391,7 +393,7 @@ namespace build2 if (const file* f = t.is_a<objx> ()) { if (m.modules) - m.append_binless_modules (r, bs, a, *f); + m.append_binless_modules (r, nullptr /* sha256 */, bs, a, *f); } else fail << t << " is not an object file target"; |