1 #ifndef BINARYPACKAGE_H_
2 #define BINARYPACKAGE_H_
4 #include "libbuilder_api.h"
8 Represents a package that is installed on the system, but can't be built by
11 class LIBBUILDER_API BinaryPackage: public Package
14 class Loader: public Msp::DataFile::DerivedObjectLoader<BinaryPackage, Package::Loader>
17 Loader(BinaryPackage &);
20 void header(const std::string &);
23 using Flags = std::vector<std::string>;
26 Msp::FS::Path base_path;
27 std::vector<std::string> headers;
28 BuildInfo static_binfo;
31 BinaryPackage(Builder &, const std::string &);
33 const BuildInfo &get_static_build_info() const { return static_binfo; }
35 static BinaryPackage *from_flags(Builder &, const std::string &, const Flags &, const Flags & = Flags());
37 static void process_flags(const Flags &, BuildInfo &);
38 void do_prepare() override;