fingolfin, I think you misunderstand how ELF shared library versioning works 
under at least Linux, you can either bump the LIBTOOL version macros claiming 
to be backward compatible, at which point the filename would change from the 
current libusb-1.0.so.0.1.0 to ie libusb-1.0.so.0.2.0, but the soname, which is 
what the linker uses stays libusb-1.0.so.0, and that is what the linker, etc. 
uses, so an app linked against libusb-1.0.so.0.2.0 would still happily (from 
the ld.so pov) run with libusb-1.0.so.0.1.0 .

Or you can bump the LIBTOOL version macros in such a way that the soname 
changes too, to ie
 libusb-1.0.so.1, at which point you loose backwards compatibility with 
existing apps. And since the libusbx-1.0.x releases are deliberately and 
painstakingly kept ABI and API compat with older 1.0.x release that is not 
really an option.

At least under Linux there is simply no way (with libtool) to automatically 
make things so that applications needing at least version x will automatically 
fail to start with older versions, I know the libtool docs claim otherwise, but 
they are 100% wrong.

There is a solution for this, which is using so called versioned symbols, this 
has the added advantages that apps build against a new version but not using 
any new functions will still work with older versions of the library. I would 
very much like to see libusbx use symbol versioning (at least under Linux), as 
that is a real solution, patches welcome.

As for your patch to change the libtool version macro-s as Pete explained this 
causes issues under Windows, and we gain nothing by changing them (unless we 
change them in an ABI breaking way, which is a no go), so we're not going to 
make those changes.

---
Reply to this email directly or view it on GitHub:
https://github.com/libusbx/libusbx/pull/122#issuecomment-23396235
------------------------------------------------------------------------------
Learn the latest--Visual Studio 2012, SharePoint 2013, SQL 2012, more!
Discover the easy way to master current and previous Microsoft technologies
and advance your career. Get an incredible 1,500+ hours of step-by-step
tutorial videos with LearnDevNow. Subscribe today and save!
http://pubads.g.doubleclick.net/gampad/clk?id=58040911&iu=/4140/ostg.clktrk
_______________________________________________
libusbx-devel mailing list
libusbx-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/libusbx-devel

Reply via email to