X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Flib%2Fbinary.cpp;h=ff8d658b13e9781e1640d2401564ae8578b1745c;hb=6ce67e1469bf62156ddf64e33644851f9064c6ed;hp=f245037b6b24abe35662b46ab04219dad5de7e7f;hpb=c8e829c219c65ff8e93b6c7b66212ff0876441c5;p=builder.git diff --git a/source/lib/binary.cpp b/source/lib/binary.cpp index f245037..ff8d658 100644 --- a/source/lib/binary.cpp +++ b/source/lib/binary.cpp @@ -28,9 +28,13 @@ Binary::Binary(Builder &b, const Component &c, const string &p, const vector tools; for(ObjectFile *o: objects) if(const Tool *obj_tool = o->get_tool()) - binfo.update_from(obj_tool->get_build_info()); + if(!any_equals(tools, obj_tool)) + tools.push_back(obj_tool); + for(const Tool *t: tools) + binfo.update_from(t->get_build_info()); Target::collect_build_info(binfo); @@ -72,7 +76,7 @@ void Binary::find_dependencies(Target *tgt, vector &static_libs, vecto if(l.size()>10 && !l.compare(l.size()-10, 10, ".framework")) continue; - BuildInfo::LibraryMode libmode = component->get_build_info().get_libmode_for(l); + BuildInfo::LibraryMode libmode = binfo.get_libmode_for(l); Target *lib = builder.get_vfs().find_library(l, binfo.libpath, libmode); if(lib) {