]> git.tdb.fi Git - builder.git/blobdiff - source/sourcepackage.h
Flexible way to specify install locations for components
[builder.git] / source / sourcepackage.h
index e170399aa4ab14db6abd94a3b7bc1f17f884db66..b09ccf2a704f993cd8d873e0b28c2e198cf5149f 100644 (file)
@@ -1,13 +1,7 @@
-/* $Id$
-
-This file is part of builder
-Copyright © 2007-2009  Mikko Rasa, Mikkosoft Productions
-Distributed under the LGPL
-*/
-
 #ifndef SOURCEPACKAGE_H_
 #define SOURCEPACKAGE_H_
 
+#include <stdexcept>
 #include <string>
 #include "buildinfo.h"
 #include "component.h"
@@ -19,6 +13,13 @@ Distributed under the LGPL
 
 class Builder;
 
+class bad_expansion: public std::runtime_error
+{
+public:
+       bad_expansion(const std::string &w): std::runtime_error(w) { }
+       virtual ~bad_expansion() throw() { }
+};
+
 /**
 A package that can be built by Builder.
 */
@@ -81,6 +82,7 @@ public:
 
        LibMode get_library_mode() const;
        DependencyCache &get_deps_cache() const { return deps_cache; }
+       std::string expand_string(const std::string &) const;
 private:
        virtual void do_configure(const StringMap &, unsigned);
 
@@ -90,6 +92,8 @@ private:
        /** Fills in build info based on configuration.  All required packages must be
        configured when this is called. */
        virtual void create_build_info();
+
+       virtual void create_targets();
 };
 
 #endif