- string::size_type i = 0;
- for(unsigned dots=0; i<version.size(); ++i)
- if(version[i]=='.' && ++dots>=2)
- break;
+ const string &version = component->get_package().get_interface_version();
+ if(!version.empty())
+ {
+ const Architecture &arch = builder.get_current_arch();
+ if(arch.get_system()=="windows")
+ soname = arch.create_filename<SharedLibrary>(format("%s-%s", libname, version));
+ else if(arch.get_system()=="darwin")
+ soname = arch.create_filename<SharedLibrary>(format("%s.%s", libname, version));
+ else
+ soname = format("%s.%s", arch.create_filename<SharedLibrary>(libname), version);