]> git.tdb.fi Git - builder.git/blob - source/gnulinker.h
Split GnuLinker into sub-tools and select the appropriate one in create_target
[builder.git] / source / gnulinker.h
1 #ifndef GNULINKER_H_
2 #define GNULINKER_H_
3
4 #include "tool.h"
5
6 class GnuLinker: public Tool
7 {
8 private:
9         class Linker: public SubTool
10         {
11         private:
12                 std::string command;
13
14         public:
15                 Linker(GnuLinker &, const std::string &);
16
17                 virtual Target *create_target(const std::list<Target *> &, const std::string &) const;
18                 virtual Task *run(const Target &) const;
19         };
20
21         Linker *default_linker;
22         Linker *cxx_linker;
23
24 public:
25         GnuLinker(Builder &);
26         ~GnuLinker();
27
28         virtual Target *create_target(const std::list<Target *> &, const std::string &) const;
29         virtual Task *run(const Target &) const;
30 };
31
32 #endif