#include "config.h"
#include "feature.h"
#include "package.h"
+#include "toolchain.h"
class Builder;
class BuildType;
class FileTarget;
-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.
*/
template<Component::Type>
void component(const std::string &);
void build_info();
+ void generate(const std::string &);
void if_feature(const std::string &);
void interface_version(const std::string &);
void source_tarball();
FileTarget *build_file;
Msp::FS::Path source_dir;
const BuildType *build_type;
+ Toolchain local_tools;
FeatureList features;
BuildInfo build_info;
ComponentList components;
Msp::FS::Path get_temp_directory() const;
Msp::FS::Path get_output_directory() const;
+ const Toolchain &get_toolchain() const { return local_tools; }
const ComponentList &get_components() const { return components; }
const Config &get_config() const { return config; }
- bool match_feature(const std::string &) const;
+ bool match_feature(const std::string &, const std::string *) const;
void set_build_type(const BuildType &);
const BuildInfo &get_build_info() const { return build_info; }
private: