aboutsummaryrefslogtreecommitdiff
path: root/libbuild2/dist/module.hxx
diff options
context:
space:
mode:
authorBoris Kolpackov <boris@codesynthesis.com>2022-11-30 09:08:53 +0200
committerBoris Kolpackov <boris@codesynthesis.com>2022-11-30 09:08:53 +0200
commit3bbbe09e8629ab5311a1bcbb9f56aa6a33e36f55 (patch)
treef3f6ab4fc633d98ae5a215ba4529b07849ba6792 /libbuild2/dist/module.hxx
parentd593b19735eec451b091fd46e4cb066e3478d6c9 (diff)
Deal with order dependence in dist rule
Diffstat (limited to 'libbuild2/dist/module.hxx')
-rw-r--r--libbuild2/dist/module.hxx14
1 files changed, 12 insertions, 2 deletions
diff --git a/libbuild2/dist/module.hxx b/libbuild2/dist/module.hxx
index 9c682d0..dbe2a3e 100644
--- a/libbuild2/dist/module.hxx
+++ b/libbuild2/dist/module.hxx
@@ -10,14 +10,19 @@
#include <libbuild2/module.hxx>
#include <libbuild2/variable.hxx>
+#include <libbuild2/dist/types.hxx>
+#include <libbuild2/dist/rule.hxx>
+
#include <libbuild2/export.hxx>
namespace build2
{
namespace dist
{
- struct LIBBUILD2_SYMEXPORT module: build2::module
+ class LIBBUILD2_SYMEXPORT module: public build2::module,
+ public rule
{
+ public:
static const string name;
const variable& var_dist_package;
@@ -38,6 +43,10 @@ namespace build2
adhoc.push_back (move (f));
}
+ // List of postponed prerequisites.
+ //
+ postponed_prerequisites postponed;
+
// Distribution post-processing callbacks.
//
// Only the last component in the pattern may contain wildcards. If the
@@ -69,8 +78,9 @@ namespace build2
// Implementation details.
//
+ public:
module (const variable& v_d_p)
- : var_dist_package (v_d_p) {}
+ : rule (postponed), var_dist_package (v_d_p) {}
public:
bool distributed = false; // True if this project is being distributed.