}
deps_cache.load();
-
- /*for(PackageList::iterator i=all_reqs.begin(); i!=all_reqs.end(); ++i)
- (*i)->configure(opts, flag&2);*/
}
void SourcePackage::init_config()
add("build_info", &Loader::build_info);
add("feature", &Loader::feature);
add("if", &Loader::condition);
- add("program", &Loader::program);
- add("library", &Loader::library);
- add("module", &Loader::module);
- add("headers", &Loader::headers);
+ add("program", &Loader::component<Component::PROGRAM>);
+ add("library", &Loader::component<Component::LIBRARY>);
+ add("module", &Loader::component<Component::MODULE>);
+ add("headers", &Loader::component<Component::HEADERS>);
+ add("install", &Loader::component<Component::INSTALL>);
add("tarball", &Loader::tarball);
add("tar_file", &Loader::tar_file);
}
spkg.conditions.push_back(cond);
}
-void SourcePackage::Loader::program(const string &n)
-{
- SourcePackage &spkg=static_cast<SourcePackage &>(pkg);
- Component prog(spkg, Component::PROGRAM, n);
- load_sub(prog);
- spkg.components.push_back(prog);
-}
-
-void SourcePackage::Loader::library(const string &n)
-{
- SourcePackage &spkg=static_cast<SourcePackage &>(pkg);
- Component prog(spkg, Component::LIBRARY, n);
- load_sub(prog);
- spkg.components.push_back(prog);
-}
-
-void SourcePackage::Loader::module(const string &n)
-{
- SourcePackage &spkg=static_cast<SourcePackage &>(pkg);
- Component prog(spkg, Component::MODULE, n);
- load_sub(prog);
- spkg.components.push_back(prog);
-}
-
-void SourcePackage::Loader::headers(const string &n)
+template<Component::Type t>
+void SourcePackage::Loader::component(const string &n)
{
SourcePackage &spkg=static_cast<SourcePackage &>(pkg);
- Component prog(spkg, Component::HEADERS, n);
- load_sub(prog);
- spkg.components.push_back(prog);
+ Component comp(spkg, t, n);
+ load_sub(comp);
+ spkg.components.push_back(comp);
}
void SourcePackage::Loader::build_info()