diff options
Diffstat (limited to 'build/target.txx')
-rw-r--r-- | build/target.txx | 58 |
1 files changed, 0 insertions, 58 deletions
diff --git a/build/target.txx b/build/target.txx deleted file mode 100644 index 192cfbc..0000000 --- a/build/target.txx +++ /dev/null @@ -1,58 +0,0 @@ -// file : build/target.txx -*- C++ -*- -// copyright : Copyright (c) 2014-2015 Code Synthesis Ltd -// license : MIT; see accompanying LICENSE file - -#include <build/scope> -#include <build/context> // extension_pool -#include <build/diagnostics> -#include <build/prerequisite> - -namespace build -{ - template <const char* ext> - const string& - target_extension_fix (const target_key&, scope&) - { - return extension_pool.find (ext); - } - - template <const char* var, const char* def> - const string& - target_extension_var (const target_key& tk, scope& s) - { - // Include target type/pattern-specific variables. - // - if (auto l = s.lookup (tk, var)) - { - // Help the user here and strip leading '.' from the extension. - // - const string& e (as<string> (*l)); - return extension_pool.find ( - !e.empty () && e.front () == '.' ? string (e, 1) : e); - } - - if (def != nullptr) - return extension_pool.find (def); - - { - diag_record dr; - dr << error << "no default extension in variable '" << var << "'" - << info << "required to derive file name for "; - - // This is a bit hacky: we may be dealing with a target (see - // file::derive_path()) or prerequsite (see search_existing_file()). - // So we are going to check if dir is absolute. If it is, then - // we assume this is a target, otherwise -- prerequsite. - // - if (tk.dir->absolute ()) - dr << "target " << tk; - else - dr << "prerequisite " << prerequisite_key {nullptr, tk, &s}; - - dr << info << "perhaps you forgot to add " - << tk.type->name << "{*}: " << var << " = ..."; - } - - throw failed (); - } -} |