1 #include <msp/fs/utils.h>
2 #include <msp/strings/format.h>
4 #include "sharedlibrary.h"
5 #include "sourcepackage.h"
10 SharedLibrary::SharedLibrary(Builder &b, const Msp::FS::Path &p):
13 libname = FS::basepart(FS::basename(path));
14 if(!libname.compare(0, 3, "lib"))
15 libname = libname.substr(3);
18 SharedLibrary::SharedLibrary(Builder &b, const Component &c, const list<ObjectFile *> &objs):
20 libname(c.get_name()),
21 soname(create_soname(c))
23 install_location = "lib";
24 if(component->get_type()==Component::MODULE)
26 install_location += '/';
27 install_location += package->get_name();
31 string SharedLibrary::create_soname(const Component &c)
33 const string &ver = c.get_package().get_version();
39 for(; i<ver.size(); ++i)
47 return format("%s.%s", FS::basename(path), ver.substr(0, i));