X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Fpackage.cpp;h=c55e5f47272122951c2e370bc6c6d632e156eb40;hb=e71eaecb9a31304fe5e096ea29660ea25c1bfa9f;hp=cb1940341722608c25e80f1e19794ba741e6ce66;hpb=cbb3c4c6aab7b04f7bd2178fb8f12846d532a472;p=builder.git diff --git a/source/package.cpp b/source/package.cpp index cb19403..c55e5f4 100644 --- a/source/package.cpp +++ b/source/package.cpp @@ -7,19 +7,6 @@ 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), @@ -51,6 +38,8 @@ void Package::resolve_refs() { for(list::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() @@ -90,7 +79,10 @@ 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(); @@ -127,6 +119,8 @@ Package *Package::create(Builder &b, const string &name) info.push_back("-lGL"); else if(name=="pthread") info.push_back("-lpthread"); + else if(name=="gmpxx") + info.push_back("-lgmpxx"); else return 0; } @@ -189,6 +183,7 @@ Package::Loader::Loader(Package &p): add("program", &Loader::program); add("library", &Loader::library); add("headers", &Loader::headers); + add("build_info", &Loader::build_info); } Package::Loader::~Loader() @@ -221,3 +216,8 @@ void Package::Loader::headers(const string &n) load_sub(prog); pkg.components.push_back(prog); } + +void Package::Loader::build_info() +{ + load_sub(pkg.build_info); +}