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 &);
void header(const std::string &);
};
-private:
- typedef std::list<std::string> HeaderList;
+ using Flags = std::vector<std::string>;
+private:
Msp::FS::Path base_path;
- HeaderList headers;
+ std::vector<std::string> 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 do_prepare();
+ static void process_flags(const Flags &, BuildInfo &);
+ void do_prepare() override;
};
#endif