]> git.tdb.fi Git - builder.git/blob - source/lib/importlibrary.h
Add visibility decorations to the library and plugins
[builder.git] / source / lib / importlibrary.h
1 #ifndef IMPORTLIBRARY_H_
2 #define IMPORTLIBRARY_H_
3
4 #include "filetarget.h"
5 #include "libbuilder_api.h"
6
7 class ExportDefinitions;
8 class SharedLibrary;
9
10 /**
11 A special case of static library which pulls in a shared library.  Used on
12 platforms with no true dynamic linking support.
13 */
14 class LIBBUILDER_API ImportLibrary: public FileTarget
15 {
16 private:
17         SharedLibrary *shared_lib = 0;
18
19 public:
20         ImportLibrary(Builder &b, const Msp::FS::Path &p): FileTarget(b, p) { }
21         ImportLibrary(Builder &, const Component &, SharedLibrary &);
22 private:
23         static std::string generate_filename(const Component &, const SharedLibrary &);
24
25 public:
26         const char *get_type() const override { return "ImportLibrary"; }
27
28         SharedLibrary *get_shared_library() const { return shared_lib; }
29 };
30
31 #endif