- ExportDefinitions &def = dynamic_cast<ExportDefinitions &>(*sources.front());
- ImportLibrary *imp = new ImportLibrary(builder, *def.get_component(), def);
+ SharedLibrary &shlib = dynamic_cast<SharedLibrary &>(*sources.front());
+
+ list<ObjectFile *> objs;
+ const Target::Dependencies &depends = shlib.get_dependencies();
+ for(Target::Dependencies::const_iterator i=depends.begin(); i!=depends.end(); ++i)
+ if(ObjectFile *obj = dynamic_cast<ObjectFile *>(*i))
+ objs.push_back(obj);
+
+ ExportDefinitions *exp = new ExportDefinitions(builder, *shlib.get_component(), objs);
+ exp->set_tool(*this);
+
+ ImportLibrary *imp = new ImportLibrary(builder, *shlib.get_component(), shlib, *exp);