- Builder &builder=pkg.get_builder();
- Target *world=builder.get_target("world");
- Target *def_tgt=builder.get_target("default");
-
- PathList files=collect_source_files();
- list<FileTarget *> inst_list;
-
- string inst_loc;
- if(type==TARBALL)
- {
- string tarname=name;
- if(name=="@src")
- tarname=pkg.get_name()+"-"+pkg.get_version();
- TarBall *result=new TarBall(builder, pkg, tarname);
-
- if(name=="@src")
- {
- const TargetMap &targets=builder.get_targets();
- for(TargetMap::const_iterator i=targets.begin(); i!=targets.end(); ++i)
- if(i->second->get_package()==&pkg && !i->second->is_buildable())
- result->add_depend(i->second);
- files.push_back(pkg.get_source()/"Build");
- }
-
- for(PathList::const_iterator i=files.begin(); i!=files.end(); ++i)
- {
- FileTarget *ft;
- if(Target *tgt=builder.get_target(i->str()))
- ft=dynamic_cast<FileTarget *>(tgt);
- else
- ft=new File(builder, *i);
- result->add_depend(ft);
- }
+ // XXX Cache these and check that the directories actually exist before adding them
+ BuildInfo binfo = build_info;