Joseph Kowalski wrote:

> My preference is to just drop the multi-versioned name, unless 
> significant value can be suggested for it.

There is value in letting these multi-versioned libraries the way they are:

1. There is currently precedent:

/usr/lib/libpng.so
/usr/lib/libpng.so.2
/usr/lib/libpng.so.2.1.0.15
/usr/lib/libpng.so.2.1.0.18rc5
/usr/lib/libpng.so.3
/usr/lib/libpng.so.3.1.2.5
/usr/lib/libpng.so.3.1.2.8
/usr/lib/libpng10.so
/usr/lib/libpng10.so.0
/usr/lib/libpng10.so.0.1.0.15
/usr/lib/libpng10.so.0.1.0.18rc5
/usr/lib/libpng12.so
/usr/lib/libpng12.so.0
/usr/lib/libpng12.so.0.1.2.5
/usr/lib/libpng12.so.0.1.2.8

2. For many other FOSS packages, ./configure determines if the correct version 
of a required library is available by "chopping" the versioned name of the 
library into its numbered components. For example:

libname="/usr/lib/libtiff.so.3.8.2"
major_version=`echo ${libname} | cut -f3 -d"."`
minor_version=`echo ${libname} | cut -f4 -d"."`
micro_version=`echo ${libname} | cut -f4 -d"."`

if test $major_version -ge "3" && test $minor_version -ge "7" && test 
$micro_version -ge "0" ; then
        echo "#define HAVE_LIBTIFF 1" >> $config_h 2>&1
else
        echo "#define HAVE_LIBTIFF 0" >> $config_h 2>&1
fi

Removing the version numbers from the library name would cause an increase in 
./configure patching, because ./configure would erroneously fail in this case.

--Stefan

-- 
Stefan Teleman
Sun Microsystems, Inc.
Stefan.Teleman at Sun.COM


Reply via email to