]> git.tdb.fi Git - builder.git/blobdiff - source/lib/tool.h
Add visibility decorations to the library and plugins
[builder.git] / source / lib / tool.h
index b756563242ba4099152f0ce125bd93a6504d9ffb..5921c2ddb2eb44e545711878d5c0401ded919343 100644 (file)
@@ -8,6 +8,7 @@
 #include "buildinfo.h"
 #include "externaltask.h"
 #include "internaltask.h"
+#include "libbuilder_api.h"
 #include "sourcepackage.h"
 #include "target.h"
 #include "virtualfilesystem.h"
@@ -31,7 +32,7 @@ public:
 Base class for tools.  Tools are used to turn targets into other targets.
 Examples include compilers and linkers.
 */
-class Tool: protected ToolData
+class LIBBUILDER_API Tool: protected ToolData
 {
 public:
        enum ProcessingUnit
@@ -142,6 +143,7 @@ protected:
        virtual void do_prepare(ToolData &) const { }
 
 public:
+       bool is_broken() const { return !problems.empty(); }
        const std::vector<std::string> &get_problems() const { return problems; }
 
        /** Invokes the tool to build a target.  This should not be called directly;