]> git.saurik.com Git - wxWidgets.git/blob - build/bakefiles/version.bkl
Described in the comments and documented the semantics of the parameters and
[wxWidgets.git] / build / bakefiles / version.bkl
1 <?xml version="1.0" ?>
2 <!-- $Id$ -->
3
4 <makefile>
5
6 <!-- ================================================================== -->
7 <!-- Handling of binary compatiblity: -->
8 <!-- ================================================================== -->
9
10 <!--
11 We use libtool CURRENT:REVISION:AGE versioning scheme. Here are the
12 rules for updating the values below, this should be done whenever wx
13 version (wx/version.h) changes (we abbreviate WX_CURRENT:REVISION:AGE
14 as C:R:A respectively):
15
16 0. Set C:R:A = 0:0:0 if major or minor version has changed.
17
18 1. If any API has been removed or otherwise changed in backwards
19 incompatible way, then change C:R:A to C+1:0:0
20
21 2. Else, if any API has been added, change C:R:A to C+1:0:A+1
22
23 3. Else, i.e. if there were no changes at all to API but only internal
24 changes, change C:R:A to C:R+1:A
25 -->
26 <set var="WX_CURRENT">0</set>
27 <set var="WX_REVISION">0</set>
28 <set var="WX_AGE">0</set>
29
30
31 <!-- ================================================================== -->
32 <!-- Library version number: -->
33 <!-- ================================================================== -->
34
35 <!-- extract wx version number from wx/version.h: -->
36 <set var="WXVER_MAJOR">$(wxwin.getVersionMajor())</set>
37 <set var="WXVER_MINOR">$(wxwin.getVersionMinor())</set>
38 <set var="WXVER_RELEASE">$(wxwin.getVersionRelease())</set>
39
40
41
42 <!-- ================================================================== -->
43 <!-- Derived variables: -->
44 <!-- ================================================================== -->
45
46 <!-- set misc helper variables: -->
47
48 <set var="WX_RELEASE" make_var="1">
49 $(WXVER_MAJOR).$(WXVER_MINOR)
50 </set>
51 <set var="WX_RELEASE_NODOT" make_var="1">
52 $(WXVER_MAJOR)$(WXVER_MINOR)
53 </set>
54 <set var="WX_VERSION" make_var="1">
55 $(WX_RELEASE).$(WXVER_RELEASE)
56 </set>
57 <set var="WX_VERSION_NODOT" make_var="1">
58 $(WX_RELEASE_NODOT)$(WXVER_RELEASE)
59 </set>
60
61 <set var="WX_STABLE_BRANCH">$(int(int(WXVER_MINOR) % 2 == 0))</set>
62
63 <!-- in unstable branch, binary compat. changes with every release, check
64 for it: -->
65 <if cond="WX_STABLE_BRANCH=='0' and int(WX_CURRENT)!=int(WXVER_RELEASE)">
66 <error>Forgot to update WX_CURRENT/WX_REVISION/WX_AGE?</error>
67 </if>
68 <set var="WXSOVERSION">
69 $(int(WX_CURRENT)-int(WX_AGE)).$(WX_AGE).$(WX_REVISION)
70 </set>
71
72 <!-- FIXME: until libtool scheme is implemented in bakefile -->
73 <set var="WXMACVERSION_CMD">
74 <if cond="PLATFORM_MACOSX=='1'">
75 <!-- Version can't be 0, so add 1 to it to force it to be non null -->
76 -compatibility_version $(int(WX_AGE)+1).0 -current_version $(int(WX_AGE)+1).$(WX_REVISION)
77 </if>
78 </set>
79
80 <set var="WXWIN32DLLVERSION">
81 <if cond="WX_STABLE_BRANCH=='1'">$(WX_RELEASE_NODOT)</if>
82 <if cond="WX_STABLE_BRANCH=='0'">$(WX_VERSION_NODOT)</if>
83 </set>
84
85 </makefile>