]> git.tdb.fi Git - builder.git/blob - msvclinker.h
fc9e9df364b68fd79972fadc7280603df232e9c4
[builder.git] / msvclinker.h
1 #ifndef MSVCLINKER_H_
2 #define MSVCLINKER_H_
3
4 #include <msp/builder/tool.h>
5
6 class Binary;
7 class MicrosoftTools;
8
9 class MsvcLinker: public Tool
10 {
11 private:
12         const MicrosoftTools &ms_tools;
13
14 public:
15         MsvcLinker(Builder &, const Architecture &, const MicrosoftTools &);
16
17         Target *create_target(const std::vector<Target *> &, const std::string &) override;
18         Target *create_install(Target &) const override;
19         std::string create_build_signature(const BuildInfo &) const override;
20
21 protected:
22         void do_prepare(ToolData &data) const override;
23
24 public:
25         static ExternalTask::Arguments _run(const Binary &, Msp::FS::Path &);
26 };
27
28 #endif