]> git.tdb.fi Git - builder.git/blobdiff - source/sharedlibrary.h
Get rid of the Library and SystemLibrary classes as unnecessary abstractions
[builder.git] / source / sharedlibrary.h
index 81c617e963a8862a8eecc770069ff82d46b80b57..3feb9aad19176affae9f72a993e09695dd0f3199 100644 (file)
@@ -2,20 +2,25 @@
 #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<ObjectFile *> &);
+
        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: