X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Fbuilder.h;h=b7b0b78b407e4445a1f354b74e08d7571f3a9aaf;hb=5ccb12706ac217a7f0b07e4c73ca870bb70fabdf;hp=d12cf003a68d7fc4d994b47b9dcb8f611f1622ff;hpb=aeb23448b5035f4ceb662c487913618d0efff888;p=builder.git diff --git a/source/builder.h b/source/builder.h index d12cf00..b7b0b78 100644 --- a/source/builder.h +++ b/source/builder.h @@ -45,13 +45,11 @@ private: }; private: - typedef std::map BuildTypeMap; - PackageManager package_manager; Architecture native_arch; Architecture *current_arch; - BuildTypeMap build_types; + std::map build_types; BuildType *build_type; Toolchain toolchain; VirtualFileSystem vfs; @@ -74,7 +72,8 @@ public: const Architecture &get_current_arch() const { return *current_arch; } const Architecture &get_native_arch() const { return native_arch; } void set_build_type(const std::string &); - const BuildType &get_build_type() const { return *build_type; } + std::vector get_build_types() const; + const BuildType &get_build_type() const; BuildGraph &get_build_graph() { return build_graph; } void set_prefix(const Msp::FS::Path &); void set_temp_directory(const Msp::FS::Path &); @@ -94,6 +93,9 @@ public: configured. */ void load_build_file(const Msp::FS::Path &, const Config::InputOptions *opts = 0, bool all = false); + /** Saves package configuration and dependency caches. */ + void save_caches(); + /** Builds the goal targets. The build graph must be prepared first. */ int build(unsigned jobs = 1, bool dry_run = false, bool show_progress = false);