deflt(true)
{ }
+void Component::configure(const StringMap &opts, unsigned flag)
+{
+ for(StringList::iterator i=sources.begin(); i!=sources.end(); ++i)
+ *i = (pkg.get_source()/pkg.expand_string(*i)).str();
+
+ for(PackageList::const_iterator i=requires.begin(); i!=requires.end(); ++i)
+ (*i)->configure(opts, flag&2);
+}
+
void Component::create_build_info()
{
const PackageList &pkg_reqs = pkg.get_requires();
}
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());
+ const StringList &host_src = module_host->get_sources();
+ for(StringList::const_iterator i=host_src.begin(); i!=host_src.end(); ++i)
+ build_info.incpath.push_back(*i);
}
build_info.unique();
PathList Component::collect_source_files() const
{
PathList files;
- for(PathList::const_iterator i=sources.begin(); i!=sources.end(); ++i)
+ for(StringList::const_iterator i=sources.begin(); i!=sources.end(); ++i)
{
- if(FS::is_dir(*i))
+ FS::Path path(*i);
+ if(FS::is_dir(path))
{
- list<string> sfiles = list_files(*i);
+ list<string> sfiles = list_files(path);
for(list<string>::iterator j=sfiles.begin(); j!=sfiles.end(); ++j)
- files.push_back(*i / *j);
+ files.push_back(path / *j);
}
else
- files.push_back(*i);
+ files.push_back(path);
}
return files;
void Component::Loader::source(const string &s)
{
- comp.sources.push_back(comp.pkg.get_source()/s);
+ comp.sources.push_back(s);
}
void Component::Loader::require(const string &n)