- string basename = FS::basename(tarball.get_path());
- announce(tarball.get_package()->get_name(), "TAR ", basename);
- if(builder.get_verbose()>=2)
- IO::print("Create %s\n", basename);
+ if(!sources.front()->get_package())
+ throw invalid_argument("Tar::create_target");
+ const SourcePackage &src_pkg = dynamic_cast<const SourcePackage &>(*sources.front()->get_package());
+
+ TarBall *tarball = new TarBall(builder, src_pkg, arg);
+ for(list<Target *>::const_iterator i=sources.begin(); i!=sources.end(); ++i)
+ tarball->add_depend(*i);