#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:
Linker(GnuLinker &, const std::string &);
virtual Target *create_target(const std::list<Target *> &, const std::string &) const;
+ virtual std::string create_build_signature(const BuildInfo &) const;
virtual Task *run(const Target &) const;
};
Linker *cxx_linker;
public:
- GnuLinker(Builder &);
+ GnuLinker(Builder &, const Architecture &);
~GnuLinker();
virtual Target *create_target(const std::list<Target *> &, const std::string &) const;