Hi,
We had a little problem with SANE and libtool
The problem was the following:
All sane backend shall have the same soname.
There is a dummy library "libsane.so" that is a link
to the backend that shall be used. The backends are
all replaceable. The frontend shall not see a difference
if it uses sane-umax.so, sane-mustek.so or sane-dll.so
The real libs are placed in a subdirectory "sane" that is
not searched by the dynamic library loader.
But there is a sane-internal library loader (libsane-dll.so) that loads
the libraries with dlopen.
The standard is that libsane.so is a link to sane/libsane-dll.so.
The frontend shall remember that it has been linked against
libsane.so but it stores the soname in the library instead of
the filesystem filename it is linked against. So the soname of
the ilraries have to be "libsane.so" for all sane backends.
To do this I changed libtool-1.3.5:
- split soname_spec to soname_spec and dlname_spec
- soname_spec depends on libbasename now insted of libname
- libbasename can be set by command line option "-sobasename"
if it is not set, it is set to libname (so there does not changes anything)
This patch is not tested very well. Especally it may make problems
on AIX when -sobasename is set (my old hack used in sane created
all shared libraries with the same name given by soname).
It would be nice if you would have any suggestions/comments to this
patch.
If it works, please could you include it to the next libtool version?!
Thanks
Oliver Rauch
--
Homepage: http://www.wolfsburg.de/~rauch
sane-umax: http://www.wolfsburg.de/~rauch/sane/sane-umax.html
xsane: http://www.wolfsburg.de/~rauch/sane/sane-xsane.html
E-Mail: mailto:[EMAIL PROTECTED]
libtool-1.3.5-soname-patch.diff