[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