#ifndef SHAREDLIB_H_
#define SHAREDLIB_H_
-#include "executable.h"
+#include "binary.h"
+#include "library.h"
/**
Represents a shared library. Mainly exists to give extra information to the
user.
*/
-class SharedLibrary: public Executable
+class SharedLibrary: public Binary, public Library
{
+private:
+ std::string soname;
+
public:
SharedLibrary(Builder &, const Component &, const std::list<ObjectFile *> &);
- const char *get_type() const { return "SharedLibrary"; }
+ virtual const char *get_type() const { return "SharedLibrary"; }
+ const std::string &get_soname() const { return soname; }
+
+private:
+ std::string create_soname(const Component &);
};
#endif