+++ /dev/null
-#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);
-}