]> git.tdb.fi Git - builder.git/commitdiff
Have SubTool automatically pass calls to the parent tool
authorMikko Rasa <tdb@tdb.fi>
Fri, 1 Dec 2017 11:09:22 +0000 (13:09 +0200)
committerMikko Rasa <tdb@tdb.fi>
Fri, 1 Dec 2017 11:09:22 +0000 (13:09 +0200)
source/gnulinker.cpp
source/gnulinker.h
source/tool.cpp
source/tool.h

index cc0a50d3ace1ef23db89835b4ad240bce64e4956..a93f809bfa1df263531d157d063ddf35ab12c441 100644 (file)
@@ -131,16 +131,6 @@ GnuLinker::Linker::Linker(GnuLinker &p, const string &ct):
                throw invalid_argument("GnuLinker::Linker::Linker");
 }
 
-Target *GnuLinker::Linker::create_target(const list<Target *> &sources, const string &arg)
-{
-       return parent.create_target(sources, arg);
-}
-
-Target *GnuLinker::Linker::create_install(Target &target) const
-{
-       return parent.create_install(target);
-}
-
 string GnuLinker::Linker::create_build_signature(const BuildInfo &binfo) const
 {
        string result = FS::basename(executable->get_path());
index 8d63538631adff8e27e45eba49f58a00082ca777..872234a6d33d645a36676309172c4c58e948a15d 100644 (file)
@@ -21,8 +21,6 @@ private:
        public:
                Linker(GnuLinker &, const std::string &);
 
-               virtual Target *create_target(const std::list<Target *> &, const std::string &);
-               virtual Target *create_install(Target &) const;
                virtual std::string create_build_signature(const BuildInfo &) const;
        private:
                virtual void do_prepare();
index e2afe79a204ccea8aebda5294c0dc8a0fd3f583e..f3a29905b1651f12cc2c4dc92ef95f55e38b5a0d 100644 (file)
@@ -74,6 +74,31 @@ SubTool::SubTool(Tool &p):
        parent(p)
 { }
 
+Target *SubTool::create_source(const Component &c, const FS::Path &p) const
+{
+       return parent.create_source(c, p);
+}
+
+Target *SubTool::create_source(const FS::Path &p) const
+{
+       return parent.create_source(p);
+}
+
+Target *SubTool::create_target(const list<Target *> &s, const string &a)
+{
+       return parent.create_target(s, a);
+}
+
+Target *SubTool::create_install(Target &t) const
+{
+       return parent.create_install(t);
+}
+
+string SubTool::create_build_signature(const BuildInfo &bi) const
+{
+       return parent.create_build_signature(bi);
+}
+
 
 void operator>>(const LexicalConverter &conv, Tool::ProcessingUnit &unit)
 {
index 2f8c25b4f56aedc10a45090215995c64f5ba7410..41b8c5f24dd92387ae4bf454653c3984d34694b5 100644 (file)
@@ -134,6 +134,13 @@ protected:
        Tool &parent;
 
        SubTool(Tool &);
+
+public:
+       virtual Target *create_source(const Component &, const Msp::FS::Path &) const;
+       virtual Target *create_source(const Msp::FS::Path &) const;
+       virtual Target *create_target(const std::list<Target *> &, const std::string & = std::string());
+       virtual Target *create_install(Target &) const;
+       virtual std::string create_build_signature(const BuildInfo &) const;
 };