diff options
author | Boris Kolpackov <boris@codesynthesis.com> | 2021-11-16 10:46:19 +0200 |
---|---|---|
committer | Boris Kolpackov <boris@codesynthesis.com> | 2021-11-16 14:37:45 +0200 |
commit | b5083221dad8084deb4a7949cb9fc487aa09e080 (patch) | |
tree | 6915b63574753aa463f5d0d00a243d1ce44946e3 /libbuild2/dynamic.hxx | |
parent | 47eab962cbee0a437357627045f8832daa5bbf2c (diff) |
WIP: apply/perform_update
Diffstat (limited to 'libbuild2/dynamic.hxx')
-rw-r--r-- | libbuild2/dynamic.hxx | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/libbuild2/dynamic.hxx b/libbuild2/dynamic.hxx new file mode 100644 index 0000000..395a839 --- /dev/null +++ b/libbuild2/dynamic.hxx @@ -0,0 +1,33 @@ +// file : libbuild2/dynamic.hxx -*- C++ -*- +// license : MIT; see accompanying LICENSE file + +#ifndef LIBBUILD2_DYNAMIC_HXX +#define LIBBUILD2_DYNAMIC_HXX + +#include <libbuild2/types.hxx> +#include <libbuild2/forward.hxx> +#include <libbuild2/utility.hxx> + +#include <libbuild2/action.hxx> +#include <libbuild2/target.hxx> + +#include <libbuild2/export.hxx> + +// Additional functionality that is normally only useful for implementing +// rules with dynamic dependencies. +// +namespace build2 +{ + class LIBBUILD2_SYMEXPORT dyndep_rule + { + public: + // Update the target during the match phase. Return true if it has changed + // or if the passed timestamp is not timestamp_unknown and is older than + // the target. + // + static bool + update (tracer&, action, const target&, timestamp); + }; +} + +#endif // LIBBUILD2_DYNAMIC_HXX |