]> git.tdb.fi Git - builder.git/blobdiff - source/sourcepackage.cpp
Add install component type
[builder.git] / source / sourcepackage.cpp
index 54de8f6a7cf076c178c95440d70ba4cb614d1c67..6b52884d0af03d0adbf0049f3ca5316a3e3579f2 100644 (file)
@@ -122,9 +122,6 @@ void SourcePackage::do_configure(const StringMap &opts, unsigned flag)
        }
 
        deps_cache.load();
-
-       /*for(PackageList::iterator i=all_reqs.begin(); i!=all_reqs.end(); ++i)
-               (*i)->configure(opts, flag&2);*/
 }
 
 void SourcePackage::init_config()
@@ -220,10 +217,11 @@ SourcePackage::Loader::Loader(Package &p):
        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);
 }
@@ -247,36 +245,13 @@ void SourcePackage::Loader::condition(const string &c)
        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()