[PROJ] PROJ 9.0.0RC1 & PROJ-data 1.9RC1

Sebastiaan Couwenberg sebastic at xs4all.nl
Tue Feb 15 14:18:53 PST 2022


On 2/15/22 23:05, Even Rouault wrote:
> Le 15/02/2022 à 22:58, Sebastiaan Couwenberg a écrit :
>> On 2/15/22 22:42, Even Rouault wrote:
>>> technically as we didn't break any API or ABI compared to 8.2.1, I 
>>> believe we could have treated that as a feature release w.r.t libtool 
>>> like version numbers, hence with:
>>>
>>> set(PROJ_LIBTOOL_CURRENT    25)
>>> set(PROJ_LIBTOOL_REVISION   0)
>>> set(PROJ_LIBTOOL_AGE        3)
>>>
>>> keeping the same SONAME at 25 -3 = 22
>>>
>>> (if we exclude the removal of autoconf, this is closer to being a 
>>> 8.3.0 than a 9.0.0)
>>
>> Since libtool isn't used any more, you don't need to match it for the 
>> CMake build. Just make sure to never decrement from SOVERSION (was 22 
>> in 8.2.1) and increment it when breaking the ABI.
>>
>> I suggest renameing PROJ_LIBTOOL_CURRENT to PROJ_SOVERSION and drop 
>> the other two.
> Just noting that if we would have only one number, the generated file 
> would be libproj.so.PROJ_SOVERSION, compared to libproj.so.X.Y..Z 
> currently, and thus we'd loose the ability to have several versions 
> installed in the same directory.

libproj.so.PROJ_SOVERSION is the SONAME, that has always been the case.

autotools uses magic to determine the X.Y.Z values, you can now just use 
PROJ_VERSION_MAJOR.PROJ_VERSION_MINOR.PROJ_VERSION_PATCH instead.

So you go from (8.2.1):

  /usr/lib/x86_64-linux-gnu/libproj.so -> libproj.so.22.2.1
  /usr/lib/x86_64-linux-gnu/libproj.so.22 -> libproj.so.22.2.1
  /usr/lib/x86_64-linux-gnu/libproj.so.22.2.1

To (9.0.0):

  /usr/lib/x86_64-linux-gnu/libproj.so -> libproj.so.9.0.0
  /usr/lib/x86_64-linux-gnu/libproj.so.25 -> libproj.so.9.0.0
  /usr/lib/x86_64-linux-gnu/libproj.so.9.0.0

Or use SOVERSION 23 instead of 25 as it is in 9.0.0-rc1.

Kind Regards,

Bas

-- 
  GPG Key ID: 4096R/6750F10AE88D4AF1
Fingerprint: 8182 DE41 7056 408D 6146  50D1 6750 F10A E88D 4AF1


More information about the PROJ mailing list