aboutsummaryrefslogtreecommitdiff
path: root/libbuild2/bin/rule.hxx
diff options
context:
space:
mode:
authorBoris Kolpackov <boris@codesynthesis.com>2022-12-01 10:01:24 +0200
committerBoris Kolpackov <boris@codesynthesis.com>2022-12-01 10:01:24 +0200
commitaf55babfc0c01abbd0a074b0d2ed86598d6bf628 (patch)
tree51d02bae14667636cd50dbf5b1e9bfe36dce8985 /libbuild2/bin/rule.hxx
parentf8de93520fd604a3771a2af3ca9564f6085d8baa (diff)
Fix corner case in distributing via obj{}, libul{} groups
Diffstat (limited to 'libbuild2/bin/rule.hxx')
-rw-r--r--libbuild2/bin/rule.hxx14
1 files changed, 12 insertions, 2 deletions
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 <libbuild2/rule.hxx>
+#include <libbuild2/dist/rule.hxx>
+
#include <libbuild2/bin/export.hxx>
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: