+ std::string soname;
+ ImportLibrary *import_lib;
+
+public:
+ SharedLibrary(Builder &, const Msp::FS::Path &);
+ SharedLibrary(Builder &, const Component &, const std::vector<ObjectFile *> &);
+private:
+ static std::string generate_filename(const Component &);
+
+public:
+ const char *get_type() const override { return "SharedLibrary"; }
+ const std::string &get_libname() const { return libname; }
+ const std::string &get_soname() const { return soname; }
+
+ void set_import_library(ImportLibrary *);
+ ImportLibrary *get_import_library() const { return import_lib; }