X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Fpackage.h;h=b9807e34634c1380bcf9ab482a8b193e840b1245;hb=4f78d9f016482ce1ac7d726852e33e07c090df1b;hp=3d980f26ab19d501adf1486df69a25a6962a8943;hpb=74266a6e650f019063cdcd1c9a7bd26d8f99041b;p=builder.git diff --git a/source/package.h b/source/package.h index 3d980f2..b9807e3 100644 --- a/source/package.h +++ b/source/package.h @@ -10,6 +10,9 @@ #include "packageref.h" class Builder; +class Package; + +typedef std::list PackageList; /** A package is a distributable piece of software. They consist of one or more @@ -26,7 +29,6 @@ public: public: Loader(Package &); Package &get_object() { return pkg; } - ~Loader(); private: Package &pkg; @@ -50,8 +52,7 @@ public: 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 &); + void configure(const RawOptionMap &, unsigned); static Package *create(Builder &, const std::string &); private: @@ -72,17 +73,19 @@ private: bool buildable; Msp::Path::Path source; PkgRefList requires; + PackageList all_reqs; BuildInfo build_info; BuildInfo export_binfo; ComponentList components; Config config; - bool build_info_ready; + bool conf_done; bool need_path; Msp::Path::Path path; Package(Builder &, const std::string &, const std::vector &); - void init_buildable(); + void init_config(); + void create_build_info(); unsigned get_install_flags(); };