]> git.tdb.fi Git - builder.git/blobdiff - source/virtualfilesystem.h
Use Path objects to store include and library paths
[builder.git] / source / virtualfilesystem.h
index b19d10e8b45382ae9d18f89d77a7eb55546fe885..362d5db8674f836c2ff01a4bfc9a176251dd095d 100644 (file)
@@ -17,15 +17,14 @@ possible to build them.
 class VirtualFileSystem
 {
 public:
-       typedef std::list<std::string> SearchPath;
+       typedef std::list<Msp::FS::Path> SearchPath;
 
 private:
-       typedef std::map<std::string, FileTarget *> TargetMap;
+       typedef std::map<Msp::FS::Path, FileTarget *> TargetMap;
 
        Builder &builder;
        TargetMap targets;
-       TargetMap include_cache;
-       TargetMap library_cache;
+       std::set<Msp::FS::Path> nonexistent;
 
 public:
        VirtualFileSystem(Builder &);
@@ -47,9 +46,7 @@ public:
        FileTarget *find_library(const std::string &, const SearchPath &, LibMode);
 
 private:
-       FileTarget *get_header(const Msp::FS::Path &, const Tool &);
-       FileTarget *get_library(const std::string &, const Msp::FS::Path &, LibMode);
-       Msp::FS::Path try_patterns(const Msp::FS::Path &, const std::list<Pattern> &, const std::string &);
+       bool file_exists(const Msp::FS::Path &);
 };
 
 #endif