libtool-patches
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [png-mng-implement] -version-number and BeOS


From: Ralf Wildenhues
Subject: Re: [png-mng-implement] -version-number and BeOS
Date: Wed, 17 May 2006 09:20:59 +0200
User-agent: Mutt/1.5.11

Hi John,

* John Bowler wrote on Wed, May 17, 2006 at 04:17:21AM CEST:
> From: Ralf Wildenhues
> >What I still don't understand is the following additional change you
> >also suggest:
> >
> >> $ diff libpng-1.2.9beta7/ltmain.sh libpng-1.2.9beta11 3248c3248
> >> <           current=`expr $number_major + $number_minor - 1`
> >> ---
> >> >           current=`expr $number_major + $number_minor`
> >> 3323c3323
> >> <         major=`expr $current - $age + 1`
> >> ---
> >> >         major=`expr $current - $age`
> >
> >There is a comment above this code that explains why this should be
>> necessary, no?
> 
> This is the irix/nonstopux case, I don't think there is any comment; I
> wasn't able to find any explanation of why the irix case adds 1 to get
> the major version number.  I did notice the comment for the first case
> which says:
> 
> 'then there is irix which has an extra 1 added just for fun'

AFAIK IRIX doesn't or at one point in time didn't allow for a major
version number of 0.  That's why Libtool always added 1: because version
numbers of 0 are commonly used elsewhere, so it wouldn't be nice to
force everyone else to adjust.

> That's clearly a reference to the second case adding of 1, not a
> reference to whatever irix behaviour the second piece of code is trying
> to accommodate.
> 
> The issue here is that libpng on irix has (currently) a major version
> number of '0', as it does on all other operating systems.

Why should the version number be constant across operating systems?
This is a requirement that is impossible to fulfill portably.
I fully understand that the maintenance hassles incurred by this
limitations: explaining to users that their libfoo 1.2.3 has different
numbers 4.5.6 elsewhere; but fundamentally, it simply isn't possible to
generate a uniform numbering scheme.

> So we need to be able to set the major version number to 0 (currently
> impossible because ltmain.sh objects to the value of '-1' for current)
> and, ideally we don't want to do OS specific stuff in configure to fix
> up the arguments to libtool for irix...  That would defeat the point
> of libtool.

Well, the point of libtool is that you give it the same version
information for all systems, and that it will map that to some version
representation that keeps the semantics w.r.t. compatible and
incompatible changes right.  A library on IRIX need not be compatible
with a library on GNU/Linux: they will never be linked together.

> Well, there is obviously something weird going on on IRIX.  libpng has
> worked on IRIX for a long time, but maybe not with shared libraries.
> Still it seems weird that libtool should make a major version number
> of 0 impossible and not offer any explanation of what is going on.

Good point.  We should document this somewhere, after clarifying where
exactly the constraint came from and whether it still applies.

Cheers,
Ralf




reply via email to

[Prev in Thread] Current Thread [Next in Thread]