1*b077aed3SPierre Pronchery=pod
2*b077aed3SPierre Pronchery
3*b077aed3SPierre Pronchery=head1 NAME
4*b077aed3SPierre Pronchery
5*b077aed3SPierre ProncheryVERSION - OpenSSL version information
6*b077aed3SPierre Pronchery
7*b077aed3SPierre Pronchery=head1 SYNOPSIS
8*b077aed3SPierre Pronchery
9*b077aed3SPierre Pronchery MAJOR=3
10*b077aed3SPierre Pronchery MINOR=0
11*b077aed3SPierre Pronchery PATCH=0
12*b077aed3SPierre Pronchery PRE_RELEASE_TAG=dev
13*b077aed3SPierre Pronchery BUILD_METADATA=
14*b077aed3SPierre Pronchery RELEASE_DATE=
15*b077aed3SPierre Pronchery SHLIB_VERSION=3
16*b077aed3SPierre Pronchery
17*b077aed3SPierre Pronchery=head1 DESCRIPTION
18*b077aed3SPierre Pronchery
19*b077aed3SPierre ProncheryThis file is a set of keyed information looking like simple variable
20*b077aed3SPierre Proncheryassignments.  When given an empty value, they are seen as unassigned.
21*b077aed3SPierre ProncheryThe keys that are recognised are:
22*b077aed3SPierre Pronchery
23*b077aed3SPierre Pronchery=over 4
24*b077aed3SPierre Pronchery
25*b077aed3SPierre Pronchery=item B<MAJOR>, B<MINOR>, B<PATCH>
26*b077aed3SPierre Pronchery
27*b077aed3SPierre ProncheryThe three parts of OpenSSL's 3 numbered version number, MAJOR.MINOR.PATCH.
28*b077aed3SPierre ProncheryThese are used to compose the values for the C macros B<OPENSSL_VERSION_MAJOR>,
29*b077aed3SPierre ProncheryB<OPENSSL_VERSION_MINOR>, B<OPENSSL_VERSION_PACTH>.
30*b077aed3SPierre Pronchery
31*b077aed3SPierre Pronchery=item B<PRE_RELEASE_TAG>
32*b077aed3SPierre Pronchery
33*b077aed3SPierre ProncheryThis is the added pre-release tag, which is added to the version separated by
34*b077aed3SPierre Proncherya dash.  For a value C<foo>, the C macro B<OPENSSL_VERSION_PRE_RELEASE> gets
35*b077aed3SPierre Proncherythe string C<-foo> (dash added).
36*b077aed3SPierre Pronchery
37*b077aed3SPierre Pronchery=item B<BUILD_METADATA>
38*b077aed3SPierre Pronchery
39*b077aed3SPierre ProncheryExtra metadata to be used by anyone for their own purposes.  This is added to
40*b077aed3SPierre Proncherythe version and possible pre-release tag, separated by a plus sign.  For a
41*b077aed3SPierre Proncheryvalue C<bar>, the C macro B<OPENSSL_VERSION_BUILD_METADATA> gets the string
42*b077aed3SPierre ProncheryC<+bar>.
43*b077aed3SPierre Pronchery
44*b077aed3SPierre Pronchery=item B<RELEASE_DATE>
45*b077aed3SPierre Pronchery
46*b077aed3SPierre ProncheryDefined in releases.  When not set, it gets the value C<xx XXX xxxx>.
47*b077aed3SPierre Pronchery
48*b077aed3SPierre Pronchery=item B<SHLIB_VERSION>
49*b077aed3SPierre Pronchery
50*b077aed3SPierre ProncheryThe shared library version, which is something other than the project version.
51*b077aed3SPierre Pronchery
52*b077aed3SPierre Pronchery=back
53*b077aed3SPierre Pronchery
54*b077aed3SPierre ProncheryIt is a configuration error if B<MAJOR>, B<MINOR>, B<PATCH> and B<SHLIB_VERSION>
55*b077aed3SPierre Proncherydon't have values.  Configuration will stop in that case.
56*b077aed3SPierre Pronchery
57*b077aed3SPierre Pronchery=head2 Affected configuration data
58*b077aed3SPierre Pronchery
59*b077aed3SPierre ProncheryThe following items in %config from F<configdata.pm> are affected:
60*b077aed3SPierre Pronchery
61*b077aed3SPierre Pronchery=over 4
62*b077aed3SPierre Pronchery
63*b077aed3SPierre Pronchery=item $config{major}, $config{minor}, $config{patch}, $config{shlib_version}
64*b077aed3SPierre Pronchery
65*b077aed3SPierre ProncheryThese items get their values from B<MAJOR>, B<MINOR>, B<PATCH>, and
66*b077aed3SPierre ProncheryB<SHLIB_VERSION>, respectively.
67*b077aed3SPierre Pronchery
68*b077aed3SPierre Pronchery=item $config{prerelease}
69*b077aed3SPierre Pronchery
70*b077aed3SPierre ProncheryIf B<PRERELEASE> is assigned a value, $config{prerelease} gets that same value,
71*b077aed3SPierre Proncheryprefixed by a dash, otherwise the empty string.
72*b077aed3SPierre Pronchery
73*b077aed3SPierre Pronchery=item $config{build_metadata}
74*b077aed3SPierre Pronchery
75*b077aed3SPierre ProncheryIf B<BUILD_METADATA> is assigned a value, $config{build_metadata} gets that same
76*b077aed3SPierre Proncheryvalue, prefixed by a plus sign, otherwise the empty string.
77*b077aed3SPierre Pronchery
78*b077aed3SPierre Pronchery=item $config{release_date}
79*b077aed3SPierre Pronchery
80*b077aed3SPierre ProncheryIf B<RELEASE_DATE> is assigned a value, $config{release_date} gets that same
81*b077aed3SPierre Proncheryvalue, otherwise the string C<xx XXX yyyy>.
82*b077aed3SPierre Pronchery
83*b077aed3SPierre Pronchery=item $config{version}
84*b077aed3SPierre Pronchery
85*b077aed3SPierre ProncheryThe minimal version number, a string composed from B<MAJOR>, B<MINOR> and
86*b077aed3SPierre ProncheryB<PATCH>, separated by periods.  For C<MAJOR=3>, C<MINOR=0> and C<PATCH=0>,
87*b077aed3SPierre Proncherythe string will be C<3.0.0>.
88*b077aed3SPierre Pronchery
89*b077aed3SPierre Pronchery=item $config{full_version}
90*b077aed3SPierre Pronchery
91*b077aed3SPierre ProncheryThe fully loaded version number, a string composed from $config{version},
92*b077aed3SPierre Pronchery$config{prerelease} and $config{build_metadata}.  See   See L</EXAMPLES> for
93*b077aed3SPierre Proncherya few examples.
94*b077aed3SPierre Pronchery
95*b077aed3SPierre Pronchery=back
96*b077aed3SPierre Pronchery
97*b077aed3SPierre Pronchery=head1 EXAMPLES
98*b077aed3SPierre Pronchery
99*b077aed3SPierre Pronchery=over 4
100*b077aed3SPierre Pronchery
101*b077aed3SPierre Pronchery=item 1.
102*b077aed3SPierre Pronchery
103*b077aed3SPierre Pronchery MAJOR=3
104*b077aed3SPierre Pronchery MINOR=0
105*b077aed3SPierre Pronchery PATCH=0
106*b077aed3SPierre Pronchery PRE_RELEASE_TAG=dev
107*b077aed3SPierre Pronchery BUILD_METADATA=
108*b077aed3SPierre Pronchery
109*b077aed3SPierre ProncheryThe fully loaded version number ($config{full_version}) will be
110*b077aed3SPierre ProncheryC<3.0.0-dev>.
111*b077aed3SPierre Pronchery
112*b077aed3SPierre Pronchery=item 2.
113*b077aed3SPierre Pronchery
114*b077aed3SPierre Pronchery MAJOR=3
115*b077aed3SPierre Pronchery MINOR=0
116*b077aed3SPierre Pronchery PATCH=0
117*b077aed3SPierre Pronchery PRE_RELEASE_TAG=
118*b077aed3SPierre Pronchery BUILD_METADATA=something
119*b077aed3SPierre Pronchery
120*b077aed3SPierre ProncheryThe fully loaded version number ($config{full_version}) will be
121*b077aed3SPierre ProncheryC<3.0.0+something>.
122*b077aed3SPierre Pronchery
123*b077aed3SPierre Pronchery=item 3.
124*b077aed3SPierre Pronchery
125*b077aed3SPierre Pronchery MAJOR=3
126*b077aed3SPierre Pronchery MINOR=0
127*b077aed3SPierre Pronchery PATCH=0
128*b077aed3SPierre Pronchery PRE_RELEASE_TAG=alpha3
129*b077aed3SPierre Pronchery BUILD_METADATA=something
130*b077aed3SPierre Pronchery
131*b077aed3SPierre ProncheryThe fully loaded version number ($config{full_version}) will be
132*b077aed3SPierre ProncheryC<3.0.0-alpha3+something>.
133*b077aed3SPierre Pronchery
134*b077aed3SPierre Pronchery=back
135*b077aed3SPierre Pronchery
136*b077aed3SPierre Pronchery=head1 SEE ALSO
137*b077aed3SPierre Pronchery
138*b077aed3SPierre ProncheryL<OpenSSL_version(3)>
139*b077aed3SPierre Pronchery
140*b077aed3SPierre Pronchery=head1 COPYRIGHT
141*b077aed3SPierre Pronchery
142*b077aed3SPierre ProncheryCopyright 2019 The OpenSSL Project Authors. All Rights Reserved.
143*b077aed3SPierre Pronchery
144*b077aed3SPierre ProncheryLicensed under the Apache License 2.0 (the "License").  You may not use
145*b077aed3SPierre Proncherythis file except in compliance with the License.  You can obtain a copy
146*b077aed3SPierre Proncheryin the file LICENSE in the source distribution or at
147*b077aed3SPierre ProncheryL<https://www.openssl.org/source/license.html>.
148*b077aed3SPierre Pronchery
149*b077aed3SPierre Pronchery=cut
150