[geos-devel] GEOS library versioning

strk strk at keybit.net
Fri Jul 16 12:20:58 EDT 2004


I've adopted libtool versioning scheme for library versioning
still keeping 'visible' versioning in the old Major/Minor/Patchlevel
way. This is experimental.

In order to exploit the full advantages of libtool versioning
scheme CURRENT, AGE and REVISION numbers should also be
provided as defines for client applications, as Major/Minor/Patchlevel
defines will not be able to encode multiple interfaces support.

Again. Every comment is appreciated.

--strk;

On Fri, Jul 16, 2004 at 05:47:42PM +0200, strk wrote:
> I've read libtool documentation (libtool.info).
> Libtool define its' own versioning system, consisting in
> tree numbers: CURRENT, REVISION and AGE.
> 
> CURRENT is the current interface number.
> REVISION is the revision of the current interface.
> AGE is the number of previous interfaces supported.
> 
> Following this scheme next geos library version should be
> coded as CURRENT:REVISION:AGE == 2:0:0.
> 
> the -version-info flag provided to libtool takes this codification,
> and that is the flag used for GEOS-1.0 (CURRENT:REVISION:AGE == 1:0:0).
> 
> Libtool also support using Major/Minor/Patchlevel scheme,
> but warns that binary compatibility between releases will
> not be mantained. Maybe omitting Patchlevel from the
> -release specification would allow binary compatibility between
> libraries with same Major and Minor, but I'm not sure about this.
> 
> Note that Major/Minor/Patchlevel scheme does not account
> for multiple interface support, while current/revision/age
> does.
> 
> Also note that this decision can not be procrastinated
> as once we have libgeos-1.4.0 we won't be able to switch
> to libtool versioning, as libgeos-1.4.0 would have a 
> completely different meaning with the two schemes.
> 
> I'd go with libtool scheme.
> 
> What do you think ?
> 
> 
> --strk;
> 
> On Fri, Jul 16, 2004 at 10:54:28AM +0200, strk wrote:
> > I've modified source/geom/Makefile.am
> > to provide the -release Major.Minor.Patch switch to libtool
> > instead of -version-info, which I could not understand usage of.
> > 
> > Can you (and people on the list) try if this works on other
> > systems then mine ?
> > Also, I'm not sure about versioning of archive files (libgeos.a)
> > any hint on how to check that ?
> > 
> > TIA
> > 
> > --strk;
> > 
> > _______________________________________________
> > geos-devel mailing list
> > geos-devel at geos.refractions.net
> > http://geos.refractions.net/mailman/listinfo/geos-devel
> _______________________________________________
> geos-devel mailing list
> geos-devel at geos.refractions.net
> http://geos.refractions.net/mailman/listinfo/geos-devel



More information about the geos-devel mailing list