#include "buildinfo.h"
#include "component.h"
#include "config.h"
+#include "packageref.h"
class Builder;
-class Package;
-
-class PackageRef
-{
-public:
- PackageRef(Builder &, const std::string &);
- const std::string &get_name() const { return name; }
- Package *get_package() const { return package; }
- Package *resolve();
-private:
- Builder &builder;
- std::string name;
- Package *package;
-};
class Package
{
void program(const std::string &);
void library(const std::string &);
void headers(const std::string &);
+ void build_info();
};
Package(Builder &, const std::string &, const Msp::Path::Path &);
Package(Builder &, const std::string &, const std::vector<std::string> &);
+ void set_path(const Msp::Path::Path &);
const std::string &get_name() const { return name; }
const Msp::Path::Path &get_source() const { return source; }
const ComponentList &get_components() const { return components; }
const std::list<PackageRef> &get_requires() const { return requires; }
const BuildInfo &get_build_info() const { return build_info; }
const BuildInfo &get_exported_binfo() const { return export_binfo; }
+ Builder &get_builder() const { return builder; }
+ bool get_need_path() const { return need_path; }
void resolve_refs();
void create_build_info();
void process_options(const RawOptionMap &);
ComponentList components;
Config config;
bool build_info_ready;
+ bool need_path;
+ Msp::Path::Path path;
void init_buildable();
unsigned get_install_flags();