diff options
author | Boris Kolpackov <boris@codesynthesis.com> | 2015-06-22 09:24:12 +0200 |
---|---|---|
committer | Boris Kolpackov <boris@codesynthesis.com> | 2015-06-22 09:24:12 +0200 |
commit | 6ecaa7e76c91a2842bcc63626a908bb2340b77b6 (patch) | |
tree | aa0e3d8d5f9f791dfa1735ce7d8cc276a2c0baf3 /build/algorithm | |
parent | 82ad80de9a967f253026c4874b47486c69402288 (diff) |
Remove prerequisite rewriting for c/cxx chaining
Diffstat (limited to 'build/algorithm')
-rw-r--r-- | build/algorithm | 27 |
1 files changed, 24 insertions, 3 deletions
diff --git a/build/algorithm b/build/algorithm index 5138dfa..2dc7164 100644 --- a/build/algorithm +++ b/build/algorithm @@ -5,12 +5,15 @@ #ifndef BUILD_ALGORITHM #define BUILD_ALGORITHM +#include <string> + #include <build/types> #include <build/target> #include <build/operation> namespace build { + class scope; class prerequisite; class prerequisite_key; @@ -21,13 +24,31 @@ namespace build target& search (prerequisite&); - // As above but specify the prerequisite to search as a key. Useful - // for searching for target group members where we need to search - // for a different target type. + // As above but specify the prerequisite to search as a key. // target& search (const prerequisite_key&); + // As above but specify the prerequisite to search as individual + // key components. Useful for searching for target group members + // where we need to search for a different target type. + // + target& + search (const target_type& type, + const dir_path& dir, + const std::string& name, + const std::string* ext, + scope* scope); + + // As above but specify the target type as template argument. + // + template <typename T> + T& + search (const dir_path& dir, + const std::string& name, + const std::string* ext, + scope* scope); + // Match a rule to the action/target with ambiguity detection. // void |