]> git.tdb.fi Git - builder.git/blobdiff - source/install.cpp
Migrate from msppath to mspfs
[builder.git] / source / install.cpp
index ca32348f324e02d289159d0030037ab0edb84b31..dcc46773ca39a66997512c855f0224a51b5d746a 100644 (file)
@@ -1,4 +1,11 @@
-#include <msp/path/utils.h>
+/* $Id$
+
+This file is part of builder
+Copyright © 2006-2007 Mikko Rasa, Mikkosoft Productions
+Distributed under the LGPL
+*/
+
+#include <msp/fs/utils.h>
 #include "builder.h"
 #include "copy.h"
 #include "executable.h"
@@ -11,7 +18,7 @@
 using namespace std;
 using namespace Msp;
 
-Install::Install(Builder &b, const Package &p, Target &tgt):
+Install::Install(Builder &b, const SourcePackage &p, Target &tgt):
        Target(b, &p, generate_target_name(tgt))
 {
        buildable=true;
@@ -26,20 +33,22 @@ void Install::check_rebuild()
        {
                Target *dep=depends.front();
                if(dep->get_mtime()>mtime)
-                       mark_rebuild(Path::basename(dep->get_name())+" has changed");
+                       mark_rebuild(FS::basename(dep->get_name())+" has changed");
                else if(dep->get_rebuild())
-                       mark_rebuild(Path::basename(dep->get_name())+" needs rebuilding");
+                       mark_rebuild(FS::basename(dep->get_name())+" needs rebuilding");
        }
 }
 
-Action *Install::build()
+Action *Install::create_action()
 {
-       return Target::build(new Copy(builder, *package, depends.front()->get_name(), name));
+       return new Copy(builder, *package, depends.front()->get_name(), name);
 }
 
 string Install::generate_target_name(const Target &tgt)
 {
-       Path::Path base=tgt.get_package()->get_prefix();
+       const SourcePackage *spkg=dynamic_cast<const SourcePackage *>(tgt.get_package());
+
+       FS::Path base=spkg->get_builder().get_prefix();
        string tgtname=tgt.get_name().substr(tgt.get_name().rfind('/')+1);
 
        string mid;