From 70b4532ae118accdbe11f1983a81a26927fc9065 Mon Sep 17 00:00:00 2001 From: Boris Kolpackov Date: Sun, 12 Jul 2020 10:24:08 +0200 Subject: Rename rule-adhoc-* to adhoc-rule-* --- libbuild2/adhoc-rule-buildscript.hxx | 56 ++++++++++++++++++++++++++++++++++++ 1 file changed, 56 insertions(+) create mode 100644 libbuild2/adhoc-rule-buildscript.hxx (limited to 'libbuild2/adhoc-rule-buildscript.hxx') diff --git a/libbuild2/adhoc-rule-buildscript.hxx b/libbuild2/adhoc-rule-buildscript.hxx new file mode 100644 index 0000000..b863d77 --- /dev/null +++ b/libbuild2/adhoc-rule-buildscript.hxx @@ -0,0 +1,56 @@ +// file : libbuild2/adhoc-rule-buildscript.hxx -*- C++ -*- +// license : MIT; see accompanying LICENSE file + +#ifndef LIBBUILD2_ADHOC_RULE_BUILDSCRIPT_HXX +#define LIBBUILD2_ADHOC_RULE_BUILDSCRIPT_HXX + +#include +#include +#include + +#include + +#include + +namespace build2 +{ + // Ad hoc buildscript rule. + // + // Note: not exported and should not be used directly (i.e., registered). + // + class adhoc_buildscript_rule: public adhoc_rule + { + public: + virtual bool + match (action, target&, const string&, optional) const override; + + virtual recipe + apply (action, target&) const override; + + target_state + perform_update_file (action, const target&) const; + + target_state + default_action (action, const target&) const; + + adhoc_buildscript_rule (const location& l, size_t b) + : adhoc_rule ("", l, b) {} + + virtual bool + recipe_text (context&, const target&, string&&, attributes&) override; + + virtual void + dump_attributes (ostream&) const override; + + virtual void + dump_text (ostream&, string&) const override; + + public: + using script_type = build::script::script; + + script_type script; + string checksum; // Script text hash. + }; +} + +#endif // LIBBUILD2_ADHOC_RULE_BUILDSCRIPT_HXX -- cgit v1.1