if(!component)
return;
- BuildInfo::LibraryMode libmode = component->get_build_info().libmode;
-
list<const Component *> queue;
list<Target *> dep_libs;
queue.push_back(component);
const BuildInfo &binfo = c->get_build_info();
for(BuildInfo::WordList::const_iterator i=binfo.libs.begin(); i!=binfo.libs.end(); ++i)
{
+ BuildInfo::LibraryMode libmode = component->get_build_info().get_libmode_for(*i);
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));