6 #include <msp/parser/loader.h>
17 PackageRef(Builder &, const std::string &);
18 const std::string &get_name() const { return name; }
19 Package *get_package() const { return package; }
30 class Loader: public Msp::Parser::Loader
34 Package &get_object() { return pkg; }
39 void require(const std::string &);
40 void program(const std::string &);
41 void library(const std::string &);
42 void headers(const std::string &);
46 Package(Builder &, const std::string &, const Msp::Path::Path &);
47 Package(Builder &, const std::string &, const std::vector<std::string> &);
48 const std::string &get_name() const { return name; }
49 const Msp::Path::Path &get_source() const { return source; }
50 const ComponentList &get_components() const { return components; }
51 bool get_buildable() const { return buildable; }
52 const Config &get_config() const { return config; }
53 const std::list<PackageRef> &get_requires() const { return requires; }
54 const BuildInfo &get_build_info() const { return build_info; }
55 const BuildInfo &get_exported_binfo() const { return export_binfo; }
57 void create_build_info();
58 void process_options(const RawOptionMap &);
60 static Package *create(Builder &, const std::string &);
73 std::string description;
74 std::list<PackageRef> requires;
76 BuildInfo export_binfo;
77 Msp::Path::Path source;
79 ComponentList components;
81 bool build_info_ready;
83 void init_buildable();
84 unsigned get_install_flags();