-Package *PackageRef::resolve()
-{
- if(!package)
- package=builder.get_package(name);
- return package;
-}
-
-Package::Package(Builder &b, const string &n, const Path::Path &s):
- builder(b),
- name(n),
- source(s),
- buildable(true),
- build_info_ready(false)
-{ }
-
-Package::Package(Builder &b, const string &n, const vector<string> &info):
- builder(b),
- name(n),
- buildable(false),
- build_info_ready(true)
-{
- for(vector<string>::const_iterator i=info.begin(); i!=info.end(); ++i)
- {
- if(!i->compare(0, 2, "-I"))
- export_binfo.incpath.push_back(i->substr(2));
- else if(!i->compare(0, 2, "-D"))
- export_binfo.defines.push_back(i->substr(2));
- else if(!i->compare(0, 2, "-L"))
- export_binfo.libpath.push_back(i->substr(2));
- else if(!i->compare(0, 2, "-l"))
- export_binfo.libs.push_back(i->substr(2));
- }
-}
-
-void Package::resolve_refs()
-{
- for(list<PackageRef>::iterator i=requires.begin(); i!=requires.end(); ++i)
- i->resolve();
-}
-
-void Package::create_build_info()