]> git.tdb.fi Git - builder.git/blobdiff - source/gnulinker.h
Split GnuLinker into sub-tools and select the appropriate one in create_target
[builder.git] / source / gnulinker.h
index 626894433505a10f2f959ad4b2544694a63d0ed6..9f0475adf7202de215696716a10e35ccd14424ba 100644 (file)
@@ -5,8 +5,25 @@
 
 class GnuLinker: public Tool
 {
+private:
+       class Linker: public SubTool
+       {
+       private:
+               std::string command;
+
+       public:
+               Linker(GnuLinker &, const std::string &);
+
+               virtual Target *create_target(const std::list<Target *> &, const std::string &) const;
+               virtual Task *run(const Target &) const;
+       };
+
+       Linker *default_linker;
+       Linker *cxx_linker;
+
 public:
        GnuLinker(Builder &);
+       ~GnuLinker();
 
        virtual Target *create_target(const std::list<Target *> &, const std::string &) const;
        virtual Task *run(const Target &) const;