]> git.tdb.fi Git - builder.git/blobdiff - source/gnulinker.h
Separate the command-line interface into its own class
[builder.git] / source / gnulinker.h
index 673056e9c9b878c3d425c8815212d859de97cfcc..07e6a0ca0c322fb3ee6deb711b968cffbc019c2a 100644 (file)
@@ -3,6 +3,13 @@
 
 #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:
@@ -12,6 +19,8 @@ private:
                Linker(GnuLinker &, const std::string &);
 
                virtual Target *create_target(const std::list<Target *> &, const std::string &) const;
+               virtual Target *create_install(Target &) const;
+               virtual std::string create_build_signature(const BuildInfo &) const;
                virtual Task *run(const Target &) const;
        };
 
@@ -23,6 +32,7 @@ public:
        ~GnuLinker();
 
        virtual Target *create_target(const std::list<Target *> &, const std::string &) const;
+       virtual Target *create_install(Target &) const;
        virtual Task *run(const Target &) const;
 };