X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Flib%2Fsharedlibrary.cpp;h=bd8ee260530ce6c226f54ddb74295d4f83dda3e1;hb=1600cda4875b1917cc37b9c1456648d186066c1b;hp=aae366332c974944cf2503949a09bdab164e63aa;hpb=75e33019504dd0748690f89cffeee298c18278f4;p=builder.git diff --git a/source/lib/sharedlibrary.cpp b/source/lib/sharedlibrary.cpp index aae3663..bd8ee26 100644 --- a/source/lib/sharedlibrary.cpp +++ b/source/lib/sharedlibrary.cpp @@ -35,22 +35,6 @@ SharedLibrary::SharedLibrary(Builder &b, const Component &c, const vector(*component); if(bcomp.get_type()==BinaryComponent::MODULE) install_location /= package->get_name(); - else - { - 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(format("%s-%s", libname, version)); - else if(arch.get_system()=="darwin") - soname = arch.create_filename(format("%s.%s", libname, version)); - else - soname = format("%s.%s", arch.create_filename(libname), version); - - install_filename = soname; - } - } for(ObjectFile *o: objects) o->set_used_in_shared_library(true); @@ -63,8 +47,20 @@ string SharedLibrary::generate_filename(const Component &comp) return comp.get_name()+".dlm"; else { - const Architecture &arch = comp.get_package().get_builder().get_current_arch(); - return arch.create_filename(comp.get_name()); + const SourcePackage &pkg = comp.get_package(); + const Architecture &arch = pkg.get_builder().get_current_arch(); + const string &version = pkg.get_interface_version(); + if(!version.empty()) + { + if(arch.get_system()=="windows") + return arch.create_filename(format("%s-%s", comp.get_name(), version)); + else if(arch.get_system()=="darwin") + return arch.create_filename(format("%s.%s", comp.get_name(), version)); + else + return format("%s.%s", arch.create_filename(comp.get_name()), version); + } + else + return arch.create_filename(comp.get_name()); } }