X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Fbinarypackage.h;h=b8c29de772e45610d9078de5ea0225c8ce961349;hb=bc85cc286c8a3f1055f1979a7ff8697cf1b61912;hp=b10331b27cec63731c076ad4a0db06e6611b9001;hpb=654de39b62a9a58fd8e1b5a557361d628345788b;p=builder.git diff --git a/source/binarypackage.h b/source/binarypackage.h index b10331b..b8c29de 100644 --- a/source/binarypackage.h +++ b/source/binarypackage.h @@ -1,10 +1,3 @@ -/* $Id$ - -This file is part of builder -Copyright © 2007 Mikko Rasa, Mikkosoft Productions -Distributed under the LGPL -*/ - #ifndef BINARYPACKAGE_H_ #define BINARYPACKAGE_H_ @@ -17,25 +10,33 @@ Builder. class BinaryPackage: public Package { public: - class Loader: public Package::Loader + class Loader: public Msp::DataFile::DerivedObjectLoader { public: Loader(BinaryPackage &); - BinaryPackage &get_object() { return static_cast(pkg); } private: void build_info(); + void header(const std::string &); }; - BinaryPackage(Builder &, const std::string &); - void set_path(const Msp::Path::Path &); - bool get_need_path() const { return need_path; } + typedef std::vector Flags; - static BinaryPackage *from_pkgconfig(Builder &, const std::string &); private: - bool need_path; - Msp::Path::Path path; + typedef std::list HeaderList; + + Msp::FS::Path base_path; + HeaderList headers; + BuildInfo static_binfo; - virtual void create_build_info(); +public: + BinaryPackage(Builder &, const std::string &); + + const BuildInfo &get_static_build_info() const { return static_binfo; } + + static BinaryPackage *from_flags(Builder &, const std::string &, const Flags &, const Flags & = Flags()); +private: + static void process_flags(const Flags &, BuildInfo &); + virtual void do_prepare(); }; #endif