]> git.tdb.fi Git - builder.git/blobdiff - source/builder.h
Move architecture information from Builder to class Architecture
[builder.git] / source / builder.h
index 4811493e005e649dcaeba5f24c89f976a880454d..270f8162d7af543acf1b6b694d0ba968f034963b 100644 (file)
@@ -14,6 +14,7 @@ Distributed under the LGPL
 #include <msp/core/application.h>
 #include <msp/datafile/loader.h>
 #include <msp/path/path.h>
+#include "architecture.h"
 #include "config.h"
 #include "misc.h"
 #include "problem.h"
@@ -41,8 +42,7 @@ public:
        Target   *get_header(const std::string &, const std::string &, const std::string &, const StringList &);
        Target   *get_library(const std::string &, const std::string &, const StringList &, LibMode);
        const Msp::Path::Path &get_cwd() const { return cwd; }
-       const std::string &get_arch_prefix(const std::string &) const;
-       std::string get_tool(const std::string &, const std::string &);
+       const Architecture &get_architecture(const std::string &) const;
        void     apply_profile_template(Config &, const std::string &) const;
        void     add_target(Target *);
        void     problem(const std::string &, const std::string &);
@@ -59,7 +59,7 @@ private:
                Builder         &bld;
                Msp::Path::Path src;
 
-               void architecture(const std::string &, const std::string &);
+               void architecture(const std::string &);
                void binpkg(const std::string &);
                void profile(const std::string &);
                void package(const std::string &);
@@ -77,7 +77,6 @@ private:
 
        typedef std::list<Package *>               PackageList;
        typedef std::map<std::string, Package *>   PackageMap;
-       typedef std::map<std::string, StringMap>   ToolMap;
        typedef std::map<std::string, StringMap>   ProfileTemplateMap;
 
        StringList   cmdline_targets;
@@ -92,8 +91,7 @@ private:
        TargetMap    includes;
        TargetMap    libraries;
 
-       ToolMap      tools;    //< arch, tool name -> program name
-       StringMap    archs;    //< arch -> prefix
+       ArchMap      archs;
        ProfileTemplateMap profile_tmpl;
 
        ProblemList     problems;