]> git.tdb.fi Git - builder.git/blobdiff - source/executable.cpp
Recent versions of sigc++ require C++11
[builder.git] / source / executable.cpp
index 44d461268a35bd287f216961a71573626972bb3d..0cdeec41edda0a3c815d373fb326663fe863d2ac 100644 (file)
@@ -1,15 +1,23 @@
-/* $Id$
-
-This file is part of builder
-Copyright © 2009  Mikko Rasa, Mikkosoft Productions
-Distributed under the LGPL
-*/
-
+#include "builder.h"
 #include "component.h"
 #include "executable.h"
 #include "sourcepackage.h"
 
-Executable::Executable(Builder &b, const Component &c, const std::list<ObjectFile *> &objs):
-       FileTarget(b, &c.get_package(), generate_target_path(c)),
-       Binary(b, c, objs)
+using namespace std;
+using namespace Msp;
+
+Executable::Executable(Builder &b, const FS::Path &p):
+       Binary(b, p)
 { }
+
+Executable::Executable(Builder &b, const Component &c, const list<ObjectFile *> &objs):
+       Binary(b, c, generate_filename(c), objs)
+{
+       install_location = "bin";
+}
+
+string Executable::generate_filename(const Component &comp)
+{
+       const Architecture &arch = comp.get_package().get_builder().get_current_arch();
+       return arch.get_executable_patterns().front().apply(comp.get_name());
+}