X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;ds=sidebyside;f=source%2Fpackage.h;h=a1a9859136f7f262543f232391e480e6de2e915e;hb=63adab21a6f229f434b41eb59c5718fdc3c37b15;hp=06a68ba65ca78656d9c91ebed35c2cb8fe81c8d7;hpb=0d80cabf649b931b26e7055385156c75a7385d35;p=builder.git diff --git a/source/package.h b/source/package.h index 06a68ba..a1a9859 100644 --- a/source/package.h +++ b/source/package.h @@ -7,22 +7,9 @@ #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 { @@ -40,10 +27,12 @@ public: 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 &); + 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; } @@ -52,6 +41,8 @@ public: const std::list &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 &); @@ -78,6 +69,8 @@ private: ComponentList components; Config config; bool build_info_ready; + bool need_path; + Msp::Path::Path path; void init_buildable(); unsigned get_install_flags();