http://bugs.winehq.org/show_bug.cgi?id=22132
--- Comment #7 from Alexandre Julliard julliard@winehq.org 2010-03-23 05:32:25 --- Breaking compatibility once more is only making things worse. Now we not only have the problem with different function names (which we'll still have to deal with for years to come because of backwards compatibility), but you are adding a new library name mess on top of it, which we'll have to deal with too.
Most likely it means we'll have to switch to dynamic loading, and do some ugly magic to figure out the correct library/symbol names to load depending on which versions are available at run time. It also means that all distros will have to bump the library soname and ship two versions (which probably many won't do correctly and make it an even bigger mess).
The right solution is to export both function types from a single library and convert parameters, like glibc does. It's a little extra work for you, but it makes the life of every library user much easier. It's also nicely backwards compatible.