From af55babfc0c01abbd0a074b0d2ed86598d6bf628 Mon Sep 17 00:00:00 2001 From: Boris Kolpackov Date: Thu, 1 Dec 2022 10:01:24 +0200 Subject: Fix corner case in distributing via obj{}, libul{} groups --- libbuild2/bin/rule.hxx | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) (limited to 'libbuild2/bin/rule.hxx') diff --git a/libbuild2/bin/rule.hxx b/libbuild2/bin/rule.hxx index b403433..9dd1d14 100644 --- a/libbuild2/bin/rule.hxx +++ b/libbuild2/bin/rule.hxx @@ -9,6 +9,8 @@ #include +#include + #include namespace build2 @@ -18,7 +20,10 @@ namespace build2 // "Fail rule" for obj{} and [h]bmi{} that issues diagnostics if someone // tries to build these groups directly. // - class obj_rule: public simple_rule + // Note that for dist it acts as a pass-through to all existing (declared) + // members. + // + class obj_rule: public dist::rule { public: obj_rule () {} @@ -39,7 +44,10 @@ namespace build2 // falling back to making our own based on bin.lib and bin.exe.lib. Note // that for update this rule always returns target_state::unchanged. // - class libul_rule: public simple_rule + // Note also that for dist it acts as a pass-through to all existing + // (declared) members. + // + class libul_rule: public dist::rule { public: explicit @@ -54,6 +62,8 @@ namespace build2 // Pass-through to group members rule, similar to alias. // + // Note that for dist it always passes to both members. + // class LIBBUILD2_BIN_SYMEXPORT lib_rule: public simple_rule { public: -- cgit v1.1