+ *i = (package.get_source_directory() / *i).str();
+
+ for(UseList::const_iterator i=uses.begin(); i!=uses.end(); ++i)
+ {
+ /* Select an include path that contains all the sources for this and the
+ used component. This should produce a sensible result in most cases. */
+ FS::Path base;
+ for(SourceList::const_iterator j=sources.begin(); j!=sources.end(); ++j)
+ base = base.empty() ? *j : FS::common_ancestor(base, *j);
+ const SourceList &use_sources = (*i)->get_sources();
+ for(SourceList::const_iterator j=use_sources.begin(); j!=use_sources.end(); ++j)
+ base = FS::common_ancestor(base, *j);
+ build_info.incpath.push_back(base);
+ build_info.libs.push_back((*i)->get_name());
+ if(!(*i)->get_install())
+ {
+ build_info.libmodes[(*i)->get_name()] = BuildInfo::STATIC;
+ build_info.libpath.push_back((*i)->get_package().get_source_directory());
+ }
+ }
+
+ if(type==LIBRARY || type==MODULE)
+ if(build_info.libmode<BuildInfo::DYNAMIC)
+ build_info.libmode = BuildInfo::DYNAMIC;