diff options
author | Boris Kolpackov <boris@codesynthesis.com> | 2017-07-29 10:29:59 +0200 |
---|---|---|
committer | Boris Kolpackov <boris@codesynthesis.com> | 2017-07-29 10:29:59 +0200 |
commit | 2b922df93fcea9e3fad8e24b39c7fe579085d3ac (patch) | |
tree | c2c8171427fb960b808f0446e30651bb0b9bfe08 /build2/cc/link.cxx | |
parent | 1ece46928dcd77d47b4875ac7edadb0c6d30c959 (diff) |
Refine utility library semantics with "see through" theme
Diffstat (limited to 'build2/cc/link.cxx')
-rw-r--r-- | build2/cc/link.cxx | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/build2/cc/link.cxx b/build2/cc/link.cxx index 1a5424b..25b6a28 100644 --- a/build2/cc/link.cxx +++ b/build2/cc/link.cxx @@ -1038,11 +1038,12 @@ namespace build2 return; } - auto imp = [for_install] (const file&, bool la) + auto imp = [for_install] (const file& l, bool la) { // If we are not installing, then we only need to rpath interface - // libraries (they will include rpath's for their implementations). - // Otherwise, we have to do this recursively. + // libraries (they will include rpath's for their implementations) + // Otherwise, we have to do this recursively. In both cases we also + // want to see through utility libraries. // // The rpath-link part is tricky: ideally we would like to get only // implementations and only of shared libraries. We are not interested @@ -1052,7 +1053,8 @@ namespace build2 // we are going to rpath-link all of them which should be harmless // except for some noise on the command line. // - return for_install ? !la : false; + // + return (for_install ? !la : false) || l.is_a<libux> (); }; // Package the data to keep within the 2-pointer small std::function |