From be30decf3f777786a44b12920ac2d273b1c8d1f8 Mon Sep 17 00:00:00 2001 From: Boris Kolpackov Date: Mon, 9 Aug 2021 10:48:19 +0200 Subject: 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. --- libbuild2/cc/functions.cxx | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) (limited to 'libbuild2/cc/functions.cxx') 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 (ls), r, bs, a, l, la, li); + *static_cast (ls), r, + bs, a, l, la, li); }}); // $.find_system_header() @@ -322,9 +323,10 @@ namespace build2 bool self (vs.size () > 3 ? convert (vs[3]) : true); - m.append_libraries (*static_cast (ls), r, - bs, - a, l, la, lf, li, self, rel); + m.append_libraries ( + *static_cast (ls), r, + nullptr /* sha256 */, nullptr /* update */, timestamp_unknown, + bs, a, l, la, lf, li, self, rel); }}); // $.lib_rpaths(, [, [, ]]) @@ -391,7 +393,7 @@ namespace build2 if (const file* f = t.is_a ()) { 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"; -- cgit v1.1