aboutsummaryrefslogtreecommitdiff
path: root/build/rule
diff options
context:
space:
mode:
authorBoris Kolpackov <boris@codesynthesis.com>2015-01-16 14:11:14 +0200
committerBoris Kolpackov <boris@codesynthesis.com>2015-01-16 14:11:14 +0200
commitc106259517d7693ea8e24564bc890fe575d5edcd (patch)
treebbf87f83edeaf60ff3dfa6fff33c6b7504f5318b /build/rule
parentdf50091259a34fa4718f38c0e3b7b64f6e2469ac (diff)
Implement rule chaining for cxx::link
Diffstat (limited to 'build/rule')
-rw-r--r--build/rule10
1 files changed, 8 insertions, 2 deletions
diff --git a/build/rule b/build/rule
index 91ef0ca..325204f 100644
--- a/build/rule
+++ b/build/rule
@@ -18,8 +18,11 @@ namespace build
class rule
{
public:
+ virtual void*
+ match (target&, const std::string& hint) const = 0;
+
virtual recipe
- match (target&, bool single, std::string& hint) const = 0;
+ select (target&, void*) const = 0;
};
typedef std::unordered_map<
@@ -31,8 +34,11 @@ namespace build
class default_path_rule: public rule
{
public:
+ virtual void*
+ match (target&, const std::string& hint) const;
+
virtual recipe
- match (target&, bool single, std::string& hint) const;
+ select (target&, void*) const;
static target_state
update (target&);