+/**
+Tries to resolve all references to packages.
+*/
+void Component::resolve_refs()
+{
+ for(PkgRefList::iterator i=requires.begin(); i!=requires.end(); ++i)
+ i->resolve();
+}
+
+/**
+Prepares the build information for building.
+*/
+void Component::create_build_info()
+{
+ build_info.add(pkg.get_build_info());
+
+ for(PkgRefList::iterator i=requires.begin(); i!=requires.end(); ++i)
+ {
+ if(!i->get_package())
+ continue;
+ //i->get_package()->create_build_info();
+ build_info.add(i->get_package()->get_exported_binfo());
+ }
+
+ if(modular)
+ {
+ build_info.ldflags.push_back("-rdynamic");
+ build_info.libs.push_back("dl");
+ }
+ else if(module_host)
+ {
+ const PathList &host_src=module_host->get_sources();
+ for(PathList::const_iterator i=host_src.begin(); i!=host_src.end(); ++i)
+ build_info.incpath.push_back(i->str());
+ }
+
+ build_info.unique();
+}
+