]> git.tdb.fi Git - builder.git/blobdiff - source/virtualfilesystem.cpp
Re-stat FileTargets after a successful build
[builder.git] / source / virtualfilesystem.cpp
index 1de66303711481b88c13e392622deb20ad589eec..60867cf7a4feb3dda5638ee35c9b7a2a956e6d88 100644 (file)
@@ -66,7 +66,7 @@ FileTarget *VirtualFileSystem::find_header(const string &name, const SearchPath
        return 0;
 }
 
-FileTarget *VirtualFileSystem::find_library(const string &lib, const SearchPath &path, LibMode mode)
+FileTarget *VirtualFileSystem::find_library(const string &lib, const SearchPath &path, BuildInfo::LibraryMode mode)
 {
        const Tool &linker = builder.get_toolchain().get_tool("LINK");
        const Tool::SearchPath &syspath = linker.get_system_path();
@@ -77,7 +77,7 @@ FileTarget *VirtualFileSystem::find_library(const string &lib, const SearchPath
        const Architecture &arch = builder.get_current_arch();
 
        list<string> shared_names;
-       if(mode!=FORCE_STATIC)
+       if(mode!=BuildInfo::FORCE_STATIC)
        {
                const list<Pattern> &shared_patterns = arch.get_shared_library_patterns();
                for(list<Pattern>::const_iterator i=shared_patterns.begin(); i!=shared_patterns.end(); ++i)
@@ -85,7 +85,7 @@ FileTarget *VirtualFileSystem::find_library(const string &lib, const SearchPath
        }
 
        list<string> static_names;
-       if(mode!=FORCE_DYNAMIC)
+       if(mode!=BuildInfo::FORCE_DYNAMIC)
        {
                const list<Pattern> &static_patterns = arch.get_static_library_patterns();
                for(list<Pattern>::const_iterator i=static_patterns.begin(); i!=static_patterns.end(); ++i)
@@ -94,13 +94,13 @@ FileTarget *VirtualFileSystem::find_library(const string &lib, const SearchPath
 
        for(list<FS::Path>::const_iterator i=combined_path.begin(); i!=combined_path.end(); ++i)
        {
-               const list<string> *cur_names = (mode>=DYNAMIC ? &shared_names : &static_names);
+               const list<string> *cur_names = (mode>=BuildInfo::DYNAMIC ? &shared_names : &static_names);
                for(list<string>::const_iterator j=cur_names->begin(); j!=cur_names->end(); )
                {
                        FS::Path filename = *i / *j;
                        if(FileTarget *tgt = get_target(filename))
                        {
-                               if(cur_names!=&shared_names || mode==DYNAMIC || !tgt->get_package())
+                               if(cur_names!=&shared_names || mode==BuildInfo::DYNAMIC)
                                {
                                        builder.get_logger().log("vfs", format("Library %s (%s) found in %s as existing %s", lib, *j, i->str(), tgt->get_type()));
                                        return tgt;
@@ -117,9 +117,9 @@ FileTarget *VirtualFileSystem::find_library(const string &lib, const SearchPath
 
                        if(++j==cur_names->end())
                        {
-                               if(mode==DYNAMIC && cur_names==&shared_names)   
+                               if(mode==BuildInfo::DYNAMIC && cur_names==&shared_names)        
                                        cur_names = &static_names;
-                               else if(mode==STATIC && cur_names==&static_names)
+                               else if(mode==BuildInfo::STATIC && cur_names==&static_names)
                                        cur_names = &shared_names;
                                else
                                        break;