aboutsummaryrefslogtreecommitdiff
path: root/libbuild2/dist/rule.cxx
AgeCommit message (Collapse)AuthorFilesLines
2023-12-03Reimplement search_existing() functions via target_type::searchBoris Kolpackov1-2/+2
This allows us to automatically get the target type-specific behavior with regards to the out_only semantics (added in the previous commit) instead of passing it explicitly from each call site.
2023-05-29Handle see-through groups with dynamic members in distBoris Kolpackov1-10/+19
2022-12-01Make dist::rule reusable as baseBoris Kolpackov1-5/+15
2022-11-30Deal with order dependence in dist ruleBoris Kolpackov1-5/+38
2022-10-20Ignore post hoc prerequisites in dist ruleBoris Kolpackov1-1/+7
2022-10-19Add support for post hoc prerequisitesBoris Kolpackov1-0/+4
Unlike normal and ad hoc prerequisites, a post hoc prerequisite is built after the target, not before. It may also form a dependency cycle together with normal/ad hoc prerequisites. In other words, all this form of dependency guarantees is that a post hoc prerequisite will be built if its dependent target is built. See the NEWS file for details and an example.
2022-04-07Rename {match,execute}() to *_sync(), add *_complete()Boris Kolpackov1-1/+1
In particular, the match() rename makes sure it doesn't clash with rule::match() which, after removal of the hint argument in simple_rule, has exactly the same signature, thus making it error-prone to calling recursively.
2022-04-06Add support for rule hintsBoris Kolpackov1-1/+1
A rule hint is a target attribute, for example: [rule_hint=cxx] exe{hello}: c{hello} Rule hints can be used to resolve ambiguity when multiple rules match the same target as well as to override an unambiguous match.
2020-10-27Tweak dist rule to handle prerequisites outside projectBoris Kolpackov1-7/+21
2020-02-07Drop copyright notice from source codeKaren Arutyunov1-1/+0
2019-07-05Move config, dist, test, and install modules into libraryKaren Arutyunov1-0/+88