]> git.tdb.fi Git - builder.git/blob - source/gnulinker.h
Make tools architecture-aware and restore cross-compilation functionality
[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         public:
12                 Linker(GnuLinker &, const std::string &);
13
14                 virtual Target *create_target(const std::list<Target *> &, const std::string &) const;
15                 virtual Task *run(const Target &) const;
16         };
17
18         Linker *default_linker;
19         Linker *cxx_linker;
20
21 public:
22         GnuLinker(Builder &, const Architecture &);
23         ~GnuLinker();
24
25         virtual Target *create_target(const std::list<Target *> &, const std::string &) const;
26         virtual Task *run(const Target &) const;
27 };
28
29 #endif