]> git.tdb.fi Git - builder.git/blobdiff - source/builder.h
Refactor package configuration
[builder.git] / source / builder.h
index 786b48c37f8f1752a8fbe17630d80aeacf5196e1..00bb2ad91b5ada766369243d5d1777965918ac84 100644 (file)
 class Analyzer;
 class Package;
 
+/**
+The main application class.  Controls and owns everything.  Rules the world.
+*/
 class Builder: public Msp::Application
 {
 public:
        Builder(int, char **);
-       unsigned get_verbose() const { return verbose; }
-       bool     get_dry_run() const { return dry_run; }
+       unsigned get_verbose() const   { return verbose; }
+       bool     get_dry_run() const   { return dry_run; }
        bool     get_build_all() const { return build_all; }
        Package  *get_package(const std::string &);
        Target   *get_target(const std::string &);
        Target   *get_header(const std::string &, const std::string &, const StringList &);
-       Target   *get_library(const std::string &, const StringList &);
+       Target   *get_library(const std::string &, const StringList &, unsigned);
        const Msp::Path::Path &get_cwd() const { return cwd; }
        int      main();
        ~Builder();
@@ -72,11 +75,13 @@ private:
        unsigned        jobs;
        StringList      what_if;
        bool            conf_all;
+       bool            conf_only;
        bool            build_all;
 
        int    load_build_file(const Msp::Path::Path &);
        int    create_targets();
-       Target *check_header(const Msp::Path::Path &);
+       Target *get_header(const Msp::Path::Path &);
+       Target *get_library(const std::string &, const Msp::Path::Path &, unsigned);
        void   add_target(Target *);
        void   update_hash(std::string &, const std::string &);
        int    build();