X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Fbuilder.h;h=67b337553b2ebbfba0df6427b798cb876c7d465e;hb=68517b5732dd29d9fa35086f184b4bd3bc99b45b;hp=4359d4563f7214849b89ed6e4f3495e1565f36dc;hpb=d861af0938a9043270245f6973d4ddbdc94e75b4;p=builder.git diff --git a/source/builder.h b/source/builder.h index 4359d45..67b3375 100644 --- a/source/builder.h +++ b/source/builder.h @@ -11,7 +11,6 @@ #include "buildtype.h" #include "config.h" #include "logger.h" -#include "misc.h" #include "packagemanager.h" #include "problem.h" #include "target.h" @@ -32,11 +31,8 @@ class Builder: public Msp::RegisteredApplication private: class Loader: public Msp::DataFile::ObjectLoader { - private: - Msp::FS::Path src; - public: - Loader(Builder &, const Msp::FS::Path &); + Loader(Builder &); private: void architecture(const std::string &); void binpkg(const std::string &); @@ -49,9 +45,11 @@ public: typedef std::map TargetMap; private: + typedef std::list NameList; typedef std::map BuildTypeMap; + typedef std::list ProblemList; - StringList cmdline_targets; + NameList cmdline_targets; Config::InputOptions cmdline_options; Msp::FS::Path cwd; @@ -77,7 +75,7 @@ private: bool show_progress; std::string build_file; unsigned jobs; - StringList what_if; + NameList what_if; bool conf_all; bool conf_only; bool build_all; @@ -93,7 +91,6 @@ public: ~Builder(); int main(); - bool get_dry_run() const { return dry_run; } PackageManager &get_package_manager() { return package_manager; } @@ -112,8 +109,8 @@ public: VirtualFileSystem &get_vfs() { return vfs; } const Logger &get_logger() const { return logger; } - /** Adds a target to both the target map and the new target queue. Called - from Target constructor. */ + /** 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 @@ -122,13 +119,17 @@ public: 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); /** Loads a build file. Returns 0 on success or -1 if the file could not be opened. */ - int load_build_file(const Msp::FS::Path &); + void load_build_file(const Msp::FS::Path &); private: /** Prepares packages and targets for building. Returns true if everything