]> git.tdb.fi Git - builder.git/blobdiff - source/package.h
Implement help
[builder.git] / source / package.h
index eee157234f6df23b6ec4acbc912bd4bc22e53dee..a1a9859136f7f262543f232391e480e6de2e915e 100644 (file)
@@ -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
 {
@@ -45,6 +32,7 @@ public:
 
        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; }
@@ -53,6 +41,8 @@ public:
        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 &);
@@ -79,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();