X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Fsharedlibrary.h;h=076cfdb71ab89bb82493b90608c0280dd28b7c98;hb=4facd021514ab372c23b1b132d6b4b62baa4efbf;hp=81c617e963a8862a8eecc770069ff82d46b80b57;hpb=43bd25ffcb0b4f7882773f4676b209a99cb73c04;p=builder.git diff --git a/source/sharedlibrary.h b/source/sharedlibrary.h index 81c617e..076cfdb 100644 --- a/source/sharedlibrary.h +++ b/source/sharedlibrary.h @@ -2,24 +2,29 @@ #define SHAREDLIB_H_ #include "binary.h" -#include "library.h" /** -Represents a shared library. Mainly exists to give extra information to the -user. +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. */ -class SharedLibrary: public Binary, public Library +class SharedLibrary: public Binary { private: + std::string libname; std::string soname; public: + SharedLibrary(Builder &, const Msp::FS::Path &); SharedLibrary(Builder &, const Component &, const std::list &); + 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 &); + static std::string generate_filename(const Component &); }; #endif