X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Fpackage.h;h=34049d0ce9129ec4de87a3f35a367e22c7d72cee;hb=HEAD;hp=cd2d021129dcaee30411ff9fc6a16a90a57c8bad;hpb=0d95fee118a3fcd78f153dca5721d9fe19b6f6bf;p=builder.git diff --git a/source/package.h b/source/package.h deleted file mode 100644 index cd2d021..0000000 --- a/source/package.h +++ /dev/null @@ -1,72 +0,0 @@ -#ifndef PACKAGE_H_ -#define PACKAGE_H_ - -#include -#include -#include -#include "buildinfo.h" -#include "config.h" - -class Builder; -class Package; - -/** -A package is a distributable piece of software. Package information may be -obtained in several ways: Build files of source packages, pkg-config for binary -packages and the builderrc file for binary packages with no pkg-config support. -*/ -class Package -{ -public: - class Loader: public Msp::DataFile::ObjectLoader - { - public: - Loader(Package &); - private: - void if_arch(const std::string &); - void require(const std::string &); - }; - - typedef std::list Requirements; - -protected: - Builder &builder; - - std::string name; - - Requirements requires; - BuildInfo export_binfo; - bool prepared; - std::list problems; - - bool use_pkgconfig; - - Package(Builder &, const std::string &); -public: - virtual ~Package() { } - - Builder &get_builder() const { return builder; } - const std::string &get_name() const { return name; } - const Requirements &get_required_packages() const { return requires; } - - const BuildInfo &get_exported_build_info() const { return export_binfo; } - - /// Indicates whether or not this package supports pkg-config - bool get_use_pkgconfig() const { return use_pkgconfig; } - - /** Prepares the package for building. Recursively prepares all required - packages, populates build info and creates targets. */ - void prepare(); - -protected: - virtual void do_prepare() { } - -public: - bool is_prepared() const { return prepared; } - - const std::list &get_problems() const { return problems; } - - virtual void save_caches() { } -}; - -#endif