]> git.tdb.fi Git - builder.git/blob - plugins/base/baseplugin.cpp
0da610ce8def2237e7e490730c8e8a683ea90bb8
[builder.git] / plugins / base / baseplugin.cpp
1 #include <msp/builder/builder.h>
2 #include <msp/builder/tool.h>
3 #include "baseplugin.h"
4 #include "basetools.h"
5 #include "compilecommandsjson.h"
6 #include "pkgconfigfile.h"
7
8 void BasePlugin::add_tools(Toolchain &toolchain, const Architecture &) const
9 {
10         toolchain.add_toolchain(new BaseTools(builder));
11 }
12
13 void BasePlugin::create_targets(SourcePackage &spkg) const
14 {
15         const Architecture &native_arch = builder.get_native_arch();
16
17         if(!spkg.get_exported_build_info().libs.empty() && native_arch.get_system()=="linux")
18         {
19                 PkgConfigFile *pc = new PkgConfigFile(builder, spkg);
20                 builder.get_build_graph().get_target("install")->add_dependency(*builder.get_toolchain().get_tool("CP").create_target(*pc));
21         }
22
23         new CompileCommandsJson(builder, spkg);
24 }
25
26
27 #if defined(_WIN32)
28 #define BASETOOLS_API __declspec(dllexport)
29 #elif defined(__GNUC__)
30 #define BASETOOLS_API __attribute__((visibility("default")))
31 #else
32 #define BASETOOLS_API
33 #endif
34
35 extern "C"
36 BASETOOLS_API Plugin *create_plugin(Builder &builder)
37 {
38         return new BasePlugin(builder);
39 }