]> git.tdb.fi Git - builder.git/blobdiff - source/binarypackage.h
Add support for statically linking the C++ standard library
[builder.git] / source / binarypackage.h
index 5b47d645c149710b71eaed051a577c4fa5fc4b03..b8c29de772e45610d9078de5ea0225c8ce961349 100644 (file)
@@ -10,22 +10,32 @@ 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:
+       static void process_flags(const Flags &, BuildInfo &);
        virtual void do_prepare();
 };