]> git.tdb.fi Git - builder.git/blobdiff - source/builder.h
Builder can build itself now.
[builder.git] / source / builder.h
index f66b31096773f35c04c01aac3a343314a066271d..bdc5e2fb931e36d6df53229702197ed04447f504 100644 (file)
@@ -4,9 +4,10 @@
 #include <list>
 #include <map>
 #include <string>
-#include <msp/framework/application.h>
+#include <msp/core/application.h>
 #include <msp/parser/loader.h>
 #include <msp/path/path.h>
+#include "config.h"
 
 class Package;
 class Target;
@@ -32,10 +33,12 @@ private:
                void package(const std::string &);
        };
 
-       typedef std::map<std::string, Package *> PackageMap;
-       typedef std::map<std::string, Target *>  TargetMap;
+       typedef std::map<std::string, Package *>   PackageMap;
+       typedef std::map<std::string, Target *>    TargetMap;
+       typedef std::map<std::string, std::string> ToolMap;
        
        std::list<std::string> cmdline_targets;
+       RawOptionMap cmdline_options;
        TargetMap  targets;
        PackageMap packages;
        unsigned   verbose;
@@ -44,11 +47,13 @@ private:
        std::list<Package *> new_pkgs;
        TargetMap  includes;
        std::list<Target *> new_tgts;
+       ToolMap    tools;
 
        int load_build_file(const Msp::Path::Path &);
-       void create_targets();
+       int create_targets();
        Target *check_header(const Msp::Path::Path &);
        void add_target(Target *);
+       int build();
        
        static Msp::Application::RegApp<Builder> reg;
 };