X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Fvirtualfilesystem.cpp;fp=source%2Fvirtualfilesystem.cpp;h=ec23ef5a2e1fbf3d1c944a14dbda85e2258319d3;hb=e943994f881a060b184aeee869a32a464f504a62;hp=c0123015fcd0d78c0d1bc77e772d74fbfcb01a1e;hpb=64d69068586a764b8a8ee35b0efd98cd5a5bbf32;p=builder.git diff --git a/source/virtualfilesystem.cpp b/source/virtualfilesystem.cpp index c012301..ec23ef5 100644 --- a/source/virtualfilesystem.cpp +++ b/source/virtualfilesystem.cpp @@ -35,16 +35,19 @@ void VirtualFileSystem::register_path(const FS::Path &path, FileTarget *t) builder.get_logger().log("vfs", format("Path %s registered to %s", path, t->get_name())); } -FileTarget *VirtualFileSystem::find_header(const string &name, const SearchPath &path) +FileTarget *VirtualFileSystem::find_header(const string &name, const SearchPath &path, bool use_syspath) { // XXX This will cause trouble with multiple architectures in a single build const Tool *tool = builder.get_toolchain().get_tool_for_suffix(FS::extpart(FS::basename(name)), true); if(!tool) return 0; - const Tool::SearchPath &syspath = tool->get_system_path(); list combined_path(path.begin(), path.end()); - combined_path.insert(combined_path.end(), syspath.begin(), syspath.end()); + if(use_syspath) + { + const Tool::SearchPath &syspath = tool->get_system_path(); + combined_path.insert(combined_path.end(), syspath.begin(), syspath.end()); + } for(list::const_iterator i=combined_path.begin(); i!=combined_path.end(); ++i) { @@ -66,13 +69,15 @@ FileTarget *VirtualFileSystem::find_header(const string &name, const SearchPath return 0; } -FileTarget *VirtualFileSystem::find_library(const string &lib, const SearchPath &path, BuildInfo::LibraryMode mode) +FileTarget *VirtualFileSystem::find_library(const string &lib, const SearchPath &path, BuildInfo::LibraryMode mode, bool use_syspath) { - const Tool &linker = builder.get_toolchain().get_tool("LINK"); - const Tool::SearchPath &syspath = linker.get_system_path(); - list combined_path(path.begin(), path.end()); - combined_path.insert(combined_path.end(), syspath.begin(), syspath.end()); + if(use_syspath) + { + const Tool &linker = builder.get_toolchain().get_tool("LINK"); + const Tool::SearchPath &syspath = linker.get_system_path(); + combined_path.insert(combined_path.end(), syspath.begin(), syspath.end()); + } const Architecture &arch = builder.get_current_arch();