]> git.tdb.fi Git - builder.git/blobdiff - source/virtualfilesystem.h
Prepare tools before querying their system path in the VFS
[builder.git] / source / virtualfilesystem.h
index 045f9b5057bcdb2b3514736147f83c015d97afd5..a3327de2490001c1f3e3c349ac284e66fb9c7611 100644 (file)
@@ -3,6 +3,7 @@
 
 #include <list>
 #include <map>
+#include <set>
 #include <msp/fs/path.h>
 #include "buildinfo.h"
 
@@ -39,14 +40,16 @@ public:
        void register_path(const Msp::FS::Path &, FileTarget *);
 
        /** Locates a source file.  If a file is found but no target is associated
-       with it, a new package-less target is created with the appropriate tool. */
-       FileTarget *find_header(const std::string &, const SearchPath &);
+       with it, a new package-less target is created with the appropriate tool.  If
+       use_syspath is true, the system path reported by the tool is also searched. */
+       FileTarget *find_header(const std::string &, Tool *, const SearchPath &, bool use_syspath = true);
 
        /** Locates a library.  The library name should be the same as what would be
        used in linking with the library.  If a file is found but no target is
        associated with it, a new package-less target of appropriate type is
-       created. */
-       FileTarget *find_library(const std::string &, const SearchPath &, BuildInfo::LibraryMode);
+       created.  If use_syspath is true, the system path reported by the LINK tool
+       is also searched. */
+       FileTarget *find_library(const std::string &, const SearchPath &, BuildInfo::LibraryMode, bool use_syspath = true);
 
        /** Locates a binary.  The normal search path for binaries is used (usually
        this means the PATH environment variable).  If a file is found but no target