--- /dev/null
+#ifndef MSVCLINKER_H_
+#define MSVCLINKER_H_
+
+#include <msp/builder/tool.h>
+
+class Binary;
+class MicrosoftTools;
+
+class MsvcLinker: public Tool
+{
+private:
+ const MicrosoftTools &ms_tools;
+
+public:
+ MsvcLinker(Builder &, const Architecture &, const MicrosoftTools &);
+
+ Target *create_target(const std::vector<Target *> &, const std::string &) override;
+ std::string create_build_signature(const BuildInfo &) const override;
+
+protected:
+ void do_prepare(ToolData &data) const override;
+
+public:
+ static ExternalTask::Arguments _run(const Binary &, Msp::FS::Path &);
+};
+
+#endif