6 #include <msp/parser/loader.h>
10 #include "packageref.h"
17 class Loader: public Msp::Parser::Loader
21 Package &get_object() { return pkg; }
26 void require(const std::string &);
27 void program(const std::string &);
28 void library(const std::string &);
29 void headers(const std::string &);
33 Package(Builder &, const std::string &, const Msp::Path::Path &);
34 Package(Builder &, const std::string &, const std::vector<std::string> &);
35 void set_path(const Msp::Path::Path &);
36 const std::string &get_name() const { return name; }
37 const Msp::Path::Path &get_source() const { return source; }
38 const ComponentList &get_components() const { return components; }
39 bool get_buildable() const { return buildable; }
40 const Config &get_config() const { return config; }
41 const std::list<PackageRef> &get_requires() const { return requires; }
42 const BuildInfo &get_build_info() const { return build_info; }
43 const BuildInfo &get_exported_binfo() const { return export_binfo; }
44 Builder &get_builder() const { return builder; }
45 bool get_need_path() const { return need_path; }
47 void create_build_info();
48 void process_options(const RawOptionMap &);
50 static Package *create(Builder &, const std::string &);
63 std::string description;
64 std::list<PackageRef> requires;
66 BuildInfo export_binfo;
67 Msp::Path::Path source;
69 ComponentList components;
71 bool build_info_ready;
75 void init_buildable();
76 unsigned get_install_flags();