From 152f83d22861129dba48404632b61b3f00f18715 Mon Sep 17 00:00:00 2001 From: Boris Kolpackov Date: Fri, 27 Oct 2023 05:40:52 +0200 Subject: WIP: install: ad hoc members --- libbuild2/install/rule.hxx | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) (limited to 'libbuild2/install/rule.hxx') diff --git a/libbuild2/install/rule.hxx b/libbuild2/install/rule.hxx index 3f30757..2ddacc6 100644 --- a/libbuild2/install/rule.hxx +++ b/libbuild2/install/rule.hxx @@ -81,12 +81,12 @@ namespace build2 virtual bool match (action, target&) const override; - // Return NULL if this group member should be ignored and pointer to its - // target otherwise. + // Return false if this group member should be ignored and true + // otherwise. Note that this filter is called during apply(). // // The default implementation accepts all members. // - virtual const target* + virtual bool filter (action, const target&, const target& group_member) const; // Return NULL if this prerequisite should be ignored and pointer to its @@ -116,6 +116,15 @@ namespace build2 virtual bool match (action, target&) const override; + // Return false if this ad hoc group member should be ignored and true + // otherwise. Note that this filter is called during execute and only + // for install/uninstall (and not update). + // + // The default implementation accepts all members. + // + virtual bool + filter (action, const target&, const target& adhoc_group_member) const; + // Return NULL if this prerequisite should be ignored and pointer to its // target otherwise. In the latter case, return the match options that // should be used for this prerequisite (use match_extra::all_options -- cgit v1.1