]> git.tdb.fi Git - builder.git/blobdiff - source/builder.h
Guard against build type being missing
[builder.git] / source / builder.h
index 7998a393eb4ab9f5a513dbcb544dba7836a71a3b..b7b0b78b407e4445a1f354b74e08d7571f3a9aaf 100644 (file)
@@ -45,13 +45,11 @@ private:
        };
 
 private:
-       typedef std::map<std::string, BuildType> BuildTypeMap;
-
        PackageManager package_manager;
 
        Architecture native_arch;
        Architecture *current_arch;
-       BuildTypeMap build_types;
+       std::map<std::string, BuildType> 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<std::string> 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,7 +93,8 @@ public:
        configured. */
        void load_build_file(const Msp::FS::Path &, const Config::InputOptions *opts = 0, bool all = false);
 
-       void load_build_file(const Msp::FS::Path &, const Config::InputOptions &, bool);
+       /** 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);