-/* $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"
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.
*/
public:
enum InstallFlags
{
- INCLUDE=1,
- BIN=2,
- LIB=4,
- DATA=8
+ INCLUDE = 1,
+ BIN = 2,
+ LIB = 4,
+ DATA = 8
};
class Loader: public Package::Loader
std::string description;
Msp::FS::Path source;
- PackageList base_reqs;
FeatureList features;
BuildInfo build_info;
ConditionList conditions;
ComponentList components;
Config config;
- bool conf_done;
mutable DependencyCache deps_cache;
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);
/** 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