]> git.tdb.fi Git - builder.git/blobdiff - source/binary.cpp
Make static library dependencies consistent with what the linker does
[builder.git] / source / binary.cpp
index 5856c19e539bde29901e7d7ba0fdfcf1247e2077..05a475d71bb4b02ff82c8333f06cc1c976f6d40e 100644 (file)
@@ -46,12 +46,15 @@ void Binary::find_dependencies()
                        Target *lib = builder.get_vfs().find_library(*i, binfo.libpath, libmode);
                        if(lib)
                        {
-                               dep_libs.push_back(lib);
-
-                               lib = lib->get_real_target();
-                               if(StaticLibrary *stlib = dynamic_cast<StaticLibrary *>(lib))
+                               Target *real = lib->get_real_target();
+                               if(StaticLibrary *stlib = dynamic_cast<StaticLibrary *>(real))
+                               {
+                                       dep_libs.push_back(stlib);
                                        if(stlib->get_component())
                                                queue.push_back(stlib->get_component());
+                               }
+                               else
+                                       dep_libs.push_back(lib);
                        }
                        else
                                builder.problem(package->get_name(), format("Couldn't find library %s for %s", *i, name));