]> git.tdb.fi Git - builder.git/blobdiff - source/gnulinker.h
Also get the linker system path from the actual linker program
[builder.git] / source / gnulinker.h
index 8c380c85ae9beb95c02c1c68645a1b580458c85d..784170023bafb84a33633356a889245ee848acaf 100644 (file)
@@ -15,11 +15,16 @@ class GnuLinker: public Tool
 private:
        class Linker: public SubTool
        {
+       private:
+               std::string compiler_tag;
+
        public:
                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;
+       private:
+               virtual void do_prepare();
+       public:
                virtual Task *run(const Target &) const;
        };
 
@@ -27,10 +32,14 @@ private:
        Linker *cxx_linker;
 
 public:
-       GnuLinker(Builder &, const Architecture &);
+       GnuLinker(Builder &, const Architecture &, const Msp::FS::Path & = Msp::FS::Path());
        ~GnuLinker();
 
-       virtual Target *create_target(const std::list<Target *> &, const std::string &) const;
+       virtual Target *create_target(const std::list<Target *> &, const std::string &);
+       virtual Target *create_install(Target &) const;
+protected:
+       virtual void do_prepare();
+public:
        virtual Task *run(const Target &) const;
 };