X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Fsharedlibrary.h;h=c40bccd3bfde548e21efdf2d7b132c93e1eb835b;hb=8ee4fd693c8d15265f0c145221737a322f89618b;hp=3feb9aad19176affae9f72a993e09695dd0f3199;hpb=dc4b917034c9d3718f07139e2f0f3631a080c6f3;p=builder.git diff --git a/source/sharedlibrary.h b/source/sharedlibrary.h index 3feb9aa..c40bccd 100644 --- a/source/sharedlibrary.h +++ b/source/sharedlibrary.h @@ -3,28 +3,37 @@ #include "binary.h" +class ImportLibrary; + /** Represents a shared library. It has two special properties: libname and soname. Libname is the name used by the linker. Soname is the canonical filename of the library, including version number. If the owning package has no version, soname will be empty. + +A SharedLibrary can also store a pointer to the associated ImportLibrary, for +platforms that need one. */ class SharedLibrary: public Binary { private: std::string libname; std::string soname; + ImportLibrary *import_lib; public: SharedLibrary(Builder &, const Msp::FS::Path &); SharedLibrary(Builder &, const Component &, const std::list &); +private: + static std::string generate_filename(const Component &); +public: virtual const char *get_type() const { return "SharedLibrary"; } const std::string &get_libname() const { return libname; } const std::string &get_soname() const { return soname; } -private: - std::string create_soname(const Component &); + void set_import_library(ImportLibrary *); + ImportLibrary *get_import_library() const { return import_lib; } }; #endif