[cmake-developers] Improving OpenSSL version support
Rolf Eike Beer
eike at sf-mail.de
Fri Jan 13 10:14:00 EST 2012
> On 1/13/2012 9:47 AM, Rolf Eike Beer wrote:
>>> On 1/13/2012 9:41 AM, Rolf Eike Beer wrote:
>>>> Status = f -> this is a released version
>>>> PP = 0x1 -> a
>>>
>>> That doesn't appear in my version. I guess they added it later.
>>
>> No, indeed exactly the lines you quoted before. It's just that the patch
>> level is encoded as number in the C constant, but written as letter in
>> the
>> string. Look again:
>
> I meant that the exact lines you quoted with the explanation do not
> appear in my version above the examples where they do in your version.
> Given those lines it is clear how 0x1a becomes z.
Ok, sorry. For reference, here is the whole comment from OpenSSL 1.0.0f:
/* Numeric release version identifier:
* MNNFFPPS: major minor fix patch status
* The status nibble has one of the values 0 for development, 1 to e for
betas
* 1 to 14, and f for release. The patch level is exactly that.
* For example:
* 0.9.3-dev 0x00903000
* 0.9.3-beta1 0x00903001
* 0.9.3-beta2-dev 0x00903002
* 0.9.3-beta2 0x00903002 (same as ...beta2-dev)
* 0.9.3 0x0090300f
* 0.9.3a 0x0090301f
* 0.9.4 0x0090400f
* 1.2.3z 0x102031af
*
* For continuity reasons (because 0.9.5 is already out, and is coded
* 0x00905100), between 0.9.5 and 0.9.6 the coding of the patch level
* part is slightly different, by setting the highest bit. This means
* that 0.9.5a looks like this: 0x0090581f. At 0.9.6, we can start
* with 0x0090600S...
*
* (Prior to 0.9.3-dev a different scheme was used: 0.9.2b is 0x0922.)
* (Prior to 0.9.5a beta1, a different scheme was used: MMNNFFRBB for
* major minor fix final patch/beta)
*/
So what do we do now? Completely drop the OPENSSL_VERSION_STRING variable
and just throw it's contents into OPENSSL_VERSION? Makes things easier,
cool ;)
I'll go and squash those things together tonight and push into next.
Eike
More information about the cmake-developers
mailing list