#include "buildinfo.h"
#include "externaltask.h"
#include "internaltask.h"
+#include "libbuilder_api.h"
#include "sourcepackage.h"
#include "target.h"
#include "virtualfilesystem.h"
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
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;