]> git.tdb.fi Git - builder.git/blobdiff - source/gnucompiler.h
Redesign how tools are run
[builder.git] / source / gnucompiler.h
index 9f81ac8961588598d1cefd767bf2ca3f23c20ca6..8257dd83576e7236233cc88ef49ac92bcb89e42e 100644 (file)
@@ -3,6 +3,8 @@
 
 #include "tool.h"
 
+class ObjectFile;
+
 /**
 Common base class for GNU compilers.  Turns SourceFiles into ObjectFiles.
 
@@ -20,15 +22,16 @@ public:
 
        Target *create_source(const Component &, const Msp::FS::Path &) const override;
        Target *create_source(const Msp::FS::Path &) const override;
-       Target *create_target(const std::list<Target *> &, const std::string &) override;
+       Target *create_target(const std::vector<Target *> &, const std::string &) override;
        std::string create_build_signature(const BuildInfo &) const override;
 protected:
        void do_prepare() override;
        void prepare_syspath();
        void prepare_version();
        void prepare_version(const std::string &);
-public:
-       Task *run(const Target &) const override;
+
+private:
+       static Task *_run(const ObjectFile &);
 };
 
 #endif