Age | Commit message (Collapse) | Author | Files | Lines |
|
This function deduplicates interface library dependencies by removing
libraries that are also interface dependencies of the specified
libraries. This can result in significantly better build performance for
heavily interface-interdependent library families (for example, like Boost).
Typical usage:
import intf_libs = ...
import intf_libs += ...
...
import intf_libs += ...
intf_libs = $cxx.deduplicate_export_libs($intf_libs)
|
|
It turns out this is a lot faster on deeply-dependent libraries like Boost
while not having any noticeable differences for "sane" projects.
|
|
|
|
|
|
|
|
|
|
|
|
These functions can be used to query library metadata for options and
libraries that should be used when compiling/linking dependent targets,
similar to how cc::{compile,link}_rule do it. With this support it should
be possible to more or less re-create their semantics in ad hoc recipes.
|