]> git.tdb.fi Git - builder.git/blobdiff - source/binary.cpp
Un-abbreviate function names
[builder.git] / source / binary.cpp
index 5856c19e539bde29901e7d7ba0fdfcf1247e2077..9f0bfcd2e5aa273fd11fc878ec1bfe4c8d9a22a3 100644 (file)
@@ -18,7 +18,7 @@ Binary::Binary(Builder &b, const FS::Path &p):
 { }
 
 Binary::Binary(Builder &b, const Component &c, const string &p, const list<ObjectFile *> &objs):
-       FileTarget(b, c.get_package(), c.get_package().get_out_dir()/p),
+       FileTarget(b, c.get_package(), c.get_package().get_output_directory()/p),
        objects(objs)
 {
        component = &c;
@@ -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));