X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Fbuildgraph.cpp;h=6ae13dcdf304cd5396b02b2a9b3a68bf5af3da0e;hb=HEAD;hp=8c0ff1272507a7336bfaee32461f4b83e5eaace7;hpb=373e9bb43c24d38316c5bb0393f4a369563319d3;p=builder.git diff --git a/source/buildgraph.cpp b/source/buildgraph.cpp deleted file mode 100644 index 8c0ff12..0000000 --- a/source/buildgraph.cpp +++ /dev/null @@ -1,55 +0,0 @@ -#include "builder.h" -#include "buildgraph.h" -#include "component.h" -#include "sourcepackage.h" -#include "tool.h" -#include "virtualtarget.h" - -using namespace std; - -BuildGraph::BuildGraph(Builder &b): - builder(b) -{ - Target *world = new VirtualTarget(builder, "world"); - world->add_dependency(*new VirtualTarget(builder, "default")); - world->add_dependency(*new VirtualTarget(builder, "install")); - world->add_dependency(*new VirtualTarget(builder, "tarballs")); -} - -BuildGraph::~BuildGraph() -{ - for(TargetMap::iterator i=targets.begin(); i!=targets.end(); ++i) - delete i->second; -} - -Target *BuildGraph::get_target(const string &n) const -{ - TargetMap::const_iterator i = targets.find(n); - if(i!=targets.end()) - return i->second; - return 0; -} - -void BuildGraph::add_target(Target *t) -{ - targets.insert(TargetMap::value_type(t->get_name(), t)); -} - -void BuildGraph::add_primary_target(Target &t) -{ - get_target("world")->add_dependency(t); - - Package *main_pkg = &builder.get_package_manager().get_main_package(); - if(t.get_package()==main_pkg && t.get_component() && t.get_component()->is_default()) - get_target("default")->add_dependency(t); -} - -void BuildGraph::add_installed_target(Target &t) -{ - Target *inst_tgt = 0; - if(const Tool *tool = t.get_tool()) - inst_tgt = tool->create_install(t); - if(!inst_tgt) - inst_tgt = builder.get_toolchain().get_tool("CP").create_target(t); - get_target("install")->add_dependency(*inst_tgt); -}