X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Fbuilder.cpp;h=813f8ed788deff1c85f8eca5810134e85f8cfb63;hb=7606161ee4a6fd13c2f5ddca413ba3582df66f03;hp=6794842c50d2c872e8ac36e560d2d2dc58fd624c;hpb=894c4bd9d58df50c38c7a656cf085c48581439ef;p=builder.git diff --git a/source/builder.cpp b/source/builder.cpp index 6794842..813f8ed 100644 --- a/source/builder.cpp +++ b/source/builder.cpp @@ -35,7 +35,6 @@ using namespace Msp; Builder::Builder(int argc, char **argv): package_manager(*this), - main_pkg(0), native_arch(*this, string()), build_type(0), vfs(*this), @@ -392,7 +391,7 @@ bool Builder::prepare_build() Target *tarballs = new VirtualTarget(*this, "tarballs"); world->add_dependency(*tarballs); - main_pkg->prepare(); + package_manager.get_main_package().prepare(); // Make the cmdline target depend on all targets mentioned on the command line Target *cmdline = new VirtualTarget(*this, "cmdline"); @@ -558,7 +557,7 @@ int Builder::do_clean() Target *tgt = queue.front(); queue.erase(queue.begin()); - if(tgt->is_buildable() && (tgt->get_package()==main_pkg || clean>=2)) + if(tgt->is_buildable() && (tgt->get_package()==&package_manager.get_main_package() || clean>=2)) clean_tgts.insert(tgt); const Target::Dependencies &deps = tgt->get_dependencies(); @@ -579,11 +578,12 @@ int Builder::do_clean() void Builder::package_help() { - const Config &config = main_pkg->get_config(); + SourcePackage &main_pkg = dynamic_cast(package_manager.get_main_package()); + const Config &config = main_pkg.get_config(); const Config::OptionMap &options = config.get_options(); IO::print("Required packages:\n "); - const Package::Requirements &requires = main_pkg->get_required_packages(); + const Package::Requirements &requires = main_pkg.get_required_packages(); for(Package::Requirements::const_iterator i=requires.begin(); i!=requires.end(); ++i) { if(i!=requires.begin()) @@ -644,10 +644,8 @@ void Builder::Loader::profile(const string &) void Builder::Loader::package(const string &n) { SourcePackage *pkg = new SourcePackage(obj, n, get_source()); - if(!obj.main_pkg) - obj.main_pkg = pkg; - if(obj.conf_all || pkg==obj.main_pkg) + if(obj.conf_all || pkg==&obj.package_manager.get_main_package()) load_sub(*pkg, obj.cmdline_options); else load_sub(*pkg);