]> git.tdb.fi Git - builder.git/commitdiff
Add SubTool class
authorMikko Rasa <tdb@tdb.fi>
Sun, 8 Jul 2012 20:11:01 +0000 (23:11 +0300)
committerMikko Rasa <tdb@tdb.fi>
Sun, 8 Jul 2012 21:08:55 +0000 (00:08 +0300)
source/tool.cpp
source/tool.h

index 5556cb346e7c1efeeee808aa275818545f185518..1ab3660474cf57de3a31bcf47df6231370beff5e 100644 (file)
@@ -24,3 +24,9 @@ Target *Tool::create_target(Target &source, const string &arg) const
        sources.push_back(&source);
        return create_target(sources, arg);
 }
+
+
+SubTool::SubTool(Tool &p):
+       Tool(p),
+       parent(p)
+{ }
index d1d71030c5fcc7ec35844333b2e79ad2bacf4069..36d1be165b4f614a994d99ca08bcda4b37674ecd 100644 (file)
@@ -44,4 +44,17 @@ public:
        virtual Task *run(const Target &) const = 0;
 };
 
+/**
+Intermediate base class for tool facets.  For example, a linker may need to
+use different commands depending on whether C++ source files are present or
+not, but their presence can't be directly determined from the object files.
+*/
+class SubTool: public Tool
+{
+protected:
+       Tool &parent;
+
+       SubTool(Tool &);
+};
+
 #endif