aboutsummaryrefslogtreecommitdiff
path: root/build/search
diff options
context:
space:
mode:
authorBoris Kolpackov <boris@codesynthesis.com>2015-02-23 15:56:03 +0200
committerBoris Kolpackov <boris@codesynthesis.com>2015-02-23 15:56:03 +0200
commitfefe0657f29b8db782f7a722dd46b074b991cf08 (patch)
tree62008e350c4f6048a68444fe50c47281643d276a /build/search
parent962cb1040670977085f0a187ecc6730608578151 (diff)
Redo rule match/build logic
Now the rule is fully responsible for searching, matching, and building of prerequisites.
Diffstat (limited to 'build/search')
-rw-r--r--build/search31
1 files changed, 31 insertions, 0 deletions
diff --git a/build/search b/build/search
new file mode 100644
index 0000000..e7d2acd
--- /dev/null
+++ b/build/search
@@ -0,0 +1,31 @@
+// file : build/search -*- C++ -*-
+// copyright : Copyright (c) 2014-2015 Code Synthesis Tools CC
+// license : MIT; see accompanying LICENSE file
+
+#ifndef BUILD_SEARCH
+#define BUILD_SEARCH
+
+#include <build/types>
+
+namespace build
+{
+ class target;
+ class prerequisite;
+
+ // Search for an existing target in this prerequisite's directory scope.
+ //
+ target*
+ search_existing_target (prerequisite&);
+
+ // Search for an existing file in the specified list of search paths.
+ //
+ target*
+ search_existing_file (prerequisite&, const paths&);
+
+ // Create a new target in this prerequisite's directory scope.
+ //
+ target&
+ create_new_target (prerequisite&);
+}
+
+#endif // BUILD_SEARCH