X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Fpackage.h;h=14b343d9687227599a865130fa6fbe28dbe596cf;hb=5c25b76c7263b2a8ac01c863e438592c6287758a;hp=2ee932bb8d7e00bb42361327c19164712d4ca2a7;hpb=242c55b17e6608b29a77ca17a5b677e202a3ca90;p=builder.git diff --git a/source/package.h b/source/package.h index 2ee932b..14b343d 100644 --- a/source/package.h +++ b/source/package.h @@ -1,16 +1,9 @@ -/* $Id$ - -This file is part of builder -Copyright © 2006-2007, 2009 Mikko Rasa, Mikkosoft Productions -Distributed under the LGPL -*/ - #ifndef PACKAGE_H_ #define PACKAGE_H_ #include #include -#include +#include #include "buildinfo.h" class Builder; @@ -26,14 +19,11 @@ packages and the builderrc file for binary packages with no pkg-config support. class Package { public: - class Loader: public Msp::DataFile::Loader + class Loader: public Msp::DataFile::ObjectLoader { public: Loader(Package &); - Package &get_object() { return pkg; } - protected: - Package &pkg; - + private: void require(const std::string &); }; @@ -56,10 +46,6 @@ public: Builder &get_builder() const { return builder; } const PackageList &get_requires() const { return requires; } - /** Returns a list of all directly and indirectly required packages, - including the package itself. */ - PackageList collect_requires(); - const BuildInfo &get_exported_binfo() const { return export_binfo; } /// Indicates whether or not this package supports pkg-config @@ -68,9 +54,16 @@ public: /** Processes configuration options that were most likely obtained from the command line. */ void configure(const StringMap &, unsigned); + + bool is_configured() const { return conf_done; } protected: virtual void do_configure(const StringMap &, unsigned) { } virtual void create_build_info() { } + +public: + virtual void create_targets() { } + + virtual void save_caches() { } }; #endif