-#ifndef GNULINKER_H_
-#define GNULINKER_H_
-
-#include "tool.h"
-
-/**
-The GNU linker. Turns ObjectFiles into Executables and SharedLibraries. To
-create a shared library, specify "shared" as the second argument to
-create_target.
-
-Uses either gcc or g++ depending on what was used to compile the object files.
-*/
-class GnuLinker: public Tool
-{
-private:
- class Linker: public SubTool
- {
- private:
- std::string compiler_tag;
-
- public:
- Linker(GnuLinker &, const std::string &);
-
- std::string create_build_signature(const BuildInfo &) const override;
- private:
- void do_prepare() override;
- public:
- Task *run(const Target &) const override;
- };
-
- Linker *default_linker;
- Linker *cxx_linker;
-
-public:
- GnuLinker(Builder &, const Architecture &);
- ~GnuLinker();
-
- Target *create_target(const std::vector<Target *> &, const std::string &) override;
- Target *create_install(Target &) const override;
-protected:
- void do_prepare() override;
-public:
- Task *run(const Target &) const override;
-};
-
-#endif