7 PackageRef::PackageRef(Builder &b, const string &n):
13 Package *PackageRef::get_package()
16 package=builder.get_package(name);
20 Package::Package(Builder &b, const string &n, const Path::Path &s):
28 void Package::resolve_refs()
30 for(list<PackageRef>::iterator i=requires.begin(); i!=requires.end(); ++i)
34 Package::Loader::Loader(Package &p):
37 add("version", &Package::version);
38 add("description", &Package::description);
39 add("require", &Loader::require);
40 add("program", &Loader::program);
41 add("library", &Loader::library);
44 Package::Loader::~Loader()
49 void Package::Loader::require(const string &n)
51 pkg.requires.push_back(PackageRef(pkg.builder, n));
54 void Package::Loader::program(const std::string &n)
56 Component prog(pkg, Component::PROGRAM, n);
58 pkg.components.push_back(prog);
61 void Package::Loader::library(const std::string &n)
63 Component prog(pkg, Component::LIBRARY, n);
65 pkg.components.push_back(prog);