#include <msp/datafile/loader.h>
#include <msp/fs/path.h>
#include "architecture.h"
+#include "buildgraph.h"
#include "buildtype.h"
#include "config.h"
#include "logger.h"
void package(const std::string &);
};
-public:
- typedef std::map<std::string, Target *> TargetMap;
-
private:
typedef std::list<std::string> NameList;
typedef std::map<std::string, BuildType> BuildTypeMap;
PackageManager package_manager;
- TargetMap targets;
-
Architecture native_arch;
Architecture *current_arch;
BuildTypeMap build_types;
BuildType *build_type;
Toolchain toolchain;
VirtualFileSystem vfs;
+ BuildGraph build_graph;
Logger logger;
ProblemList problems;
PackageManager &get_package_manager() { return package_manager; }
- /** Looks up a target by name. Returns 0 if no such target exists. */
- Target *get_target(const std::string &) const;
-
- const TargetMap &get_targets() const { return targets; }
-
- const Msp::FS::Path &get_work_directory() const { return cwd; }
const Architecture &get_current_arch() const { return *current_arch; }
const Architecture &get_native_arch() const { return native_arch; }
+ BuildGraph &get_build_graph() { return build_graph; }
const Msp::FS::Path &get_prefix() const { return prefix; }
const Msp::FS::Path &get_temp_directory() const { return tempdir; }
VirtualFileSystem &get_vfs() { return vfs; }
const Logger &get_logger() const { return logger; }
- /** Adds a target. It can later be retrieved by name. Called from Target
- constructor. */
- void add_target(Target *);
-
- /** Adds a target that is a primary build goal. Such targets will be added
- as dependencies of the "world" virtual target. If the target belongs to a
- default component of the main package, it's also added to the "default"
- virtual target. */
- void add_primary_target(Target &);
-
- /** Adds a target that will be installed. A new InstalledFile target is
- created and added as a dependency to the "install" virtual target. */
- void add_installed_target(Target &);
-
void problem(const std::string &, const std::string &);
static void usage(const char *, const char *, bool);