]> git.tdb.fi Git - builder.git/blobdiff - source/tarball.cpp
Force shared linking on Android
[builder.git] / source / tarball.cpp
index 348272f064689e473610cb14f4ae17b4358317e7..7596a3d25f1f1ed92dd64a735ca317d9e27dd6cb 100644 (file)
@@ -1,54 +1,14 @@
-/* $Id$
-
-This file is part of builder
-Copyright © 2007 Mikko Rasa, Mikkosoft Productions
-Distributed under the LGPL
-*/
-
-#include "builder.h"
-#include "file.h"
-#include "package.h"
+#include "sourcepackage.h"
 #include "tar.h"
 #include "tarball.h"
 
 using namespace std;
 
-TarBall::TarBall(Builder &b, const Package &p, const string &ev):
-       Target(b, &p, create_target_name(p, ev))
-{
-       buildable=true;
-}
+TarBall::TarBall(Builder &b, const SourcePackage &p, const string &n):
+       FileTarget(b, p, p.get_source_directory()/(n+".tar"))
+{ }
 
-void TarBall::find_depends()
+const SourcePackage *TarBall::get_package() const
 {
-       const TargetMap &targets=builder.get_targets();
-       for(TargetMap::const_iterator i=targets.begin(); i!=targets.end(); ++i)
-               if(i->second->get_package()==package && i->second!=this && !i->second->get_buildable())
-                       add_depend(i->second);
-
-       const PathList &tar_files=package->get_tar_files();
-       for(PathList::const_iterator i=tar_files.begin(); i!=tar_files.end(); ++i)
-       {
-               Target *tgt=builder.get_target(i->str());
-               if(!tgt)
-                       tgt=new File(builder, i->str());
-               add_depend(tgt);
-       }
-
-       deps_ready=true;
-}
-
-Action *TarBall::build()
-{
-       return Target::build(new Tar(builder, *this));
-}
-
-string TarBall::create_target_name(const Package &pkg, const string &extra_ver)
-{
-       string basename=pkg.get_name()+"-"+pkg.get_version();
-       if(!extra_ver.empty())
-               basename+="-"+extra_ver;
-       basename+=".tar";
-
-       return (pkg.get_source()/basename).str();
+       return static_cast<const SourcePackage *>(package);
 }