]> git.tdb.fi Git - builder.git/blobdiff - source/binarypackage.h
Deal with static build flags for binary packages
[builder.git] / source / binarypackage.h
index cb054053b62d56d98eb65bc401a12ddbf01b988d..b8c29de772e45610d9078de5ea0225c8ce961349 100644 (file)
@@ -10,19 +10,33 @@ Builder.
 class BinaryPackage: public Package
 {
 public:
-       class Loader: public Msp::DataFile::DerivedObjectLoader<BinaryPackage, Package>
+       class Loader: public Msp::DataFile::DerivedObjectLoader<BinaryPackage, Package::Loader>
        {
        public:
                Loader(BinaryPackage &);
        private:
                void build_info();
+               void header(const std::string &);
        };
 
+       typedef std::vector<std::string> Flags;
+
+private:
+       typedef std::list<std::string> HeaderList;
+
+       Msp::FS::Path base_path;
+       HeaderList headers;
+       BuildInfo static_binfo;
+
+public:
        BinaryPackage(Builder &, const std::string &);
 
-       static BinaryPackage *from_flags(Builder &, const std::string &, const std::vector<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:
-       virtual void create_build_info();
+       static void process_flags(const Flags &, BuildInfo &);
+       virtual void do_prepare();
 };
 
 #endif