]> git.tdb.fi Git - builder.git/blob - source/lib/customizedtool.h
Add visibility decorations to the library and plugins
[builder.git] / source / lib / customizedtool.h
1 #ifndef CUSTOMIZEDTOOL_H_
2 #define CUSTOMIZEDTOOL_H_
3
4 #include "libbuilder_api.h"
5 #include "tool.h"
6
7 class LIBBUILDER_API CustomizedTool: public Tool
8 {
9 protected:
10         Tool &parent;
11
12         CustomizedTool(Builder &, const std::string &, const Architecture &);
13         CustomizedTool(Tool &, const Architecture &);
14
15 public:
16         const Tool *get_base_tool() const override { return &parent; }
17         Target *create_source(const Component &, const Msp::FS::Path &) const override;
18         Target *create_source(const Msp::FS::Path &) const override;
19         Target *create_target(const std::vector<Target *> &, const std::string & = std::string()) override;
20         Target *create_install(Target &) const override;
21         std::string create_build_signature(const BuildInfo &) const override;
22 protected:
23         void do_prepare(ToolData &) const override;
24 };
25
26 #endif