X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Fbuilder.cpp;h=dac7bb84a43c6f68c577331b2294955309982f08;hb=8d7926359d2477a9928d7367678314bcbc1f6e81;hp=55bee1507c9e1253e399bb50dd2ef926d9eb1aa4;hpb=49ee08bb6f63f6b3a8cdd3b7cf032dea9b2cba8a;p=builder.git diff --git a/source/builder.cpp b/source/builder.cpp index 55bee15..dac7bb8 100644 --- a/source/builder.cpp +++ b/source/builder.cpp @@ -260,7 +260,7 @@ int Builder::main() { unsigned n_packages = 0; for(PackageMap::const_iterator i=packages.begin(); i!=packages.end(); ++i) - if(i->second->is_configured()) + if(i->second && i->second->is_configured()) ++n_packages; IO::print("%d active packages, %d targets\n", n_packages, targets.size()); } @@ -610,7 +610,7 @@ int Builder::create_targets() for(PackageMap::const_iterator i=packages.begin(); i!=packages.end(); ++i) { - if(!i->second->is_configured()) + if(!i->second || !i->second->is_configured()) continue; SourcePackage *spkg = dynamic_cast(i->second); @@ -652,7 +652,6 @@ int Builder::create_targets() // Make the cmdline target depend on all targets mentioned on the command line Target *cmdline = new VirtualTarget(*this, "cmdline"); - bool build_world = false; for(list::iterator i=cmdline_targets.begin(); i!=cmdline_targets.end(); ++i) { Target *tgt = get_target(*i); @@ -663,8 +662,7 @@ int Builder::create_targets() IO::print("I don't know anything about %s\n", *i); return -1; } - if(tgt==world) - build_world = true; + cmdline->add_depend(tgt); }