using namespace std;
using namespace Msp;
-PackageRef::PackageRef(Builder &b, const string &n):
- builder(b),
- name(n),
- package(0)
-{ }
-
-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),
{
for(list<PackageRef>::iterator i=requires.begin(); i!=requires.end(); ++i)
i->resolve();
+ for(ComponentList::iterator i=components.begin(); i!=components.end(); ++i)
+ i->resolve_refs();
}
void Package::create_build_info()
}
if(strtobool(config.get_option("debug").value))
+ {
build_info.cflags.push_back("-ggdb");
+ build_info.defines.push_back("DEBUG");
+ }
build_info.unique();
export_binfo.unique();
add("program", &Loader::program);
add("library", &Loader::library);
add("headers", &Loader::headers);
+ add("build_info", &Loader::build_info);
}
Package::Loader::~Loader()
load_sub(prog);
pkg.components.push_back(prog);
}
+
+void Package::Loader::build_info()
+{
+ load_sub(pkg.build_info);
+}