update dev300-m58
[ooovba.git] / solenv / inc / verinfo.hrc
blobed095ab98916b3ad56bba7e1ca29e4fcff03eddc
1 /*************************************************************************
2  *
3  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4  * 
5  * Copyright 2008 by Sun Microsystems, Inc.
6  *
7  * OpenOffice.org - a multi-platform office productivity suite
8  *
9  * $RCSfile: verinfo.hrc,v $
10  * $Revision: 1.6 $
11  *
12  * This file is part of OpenOffice.org.
13  *
14  * OpenOffice.org is free software: you can redistribute it and/or modify
15  * it under the terms of the GNU Lesser General Public License version 3
16  * only, as published by the Free Software Foundation.
17  *
18  * OpenOffice.org is distributed in the hope that it will be useful,
19  * but WITHOUT ANY WARRANTY; without even the implied warranty of
20  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
21  * GNU Lesser General Public License version 3 for more details
22  * (a copy is included in the LICENSE file that accompanied this code).
23  *
24  * You should have received a copy of the GNU Lesser General Public License
25  * version 3 along with OpenOffice.org.  If not, see
26  * <http://www.openoffice.org/license.html>
27  * for a copy of the LGPLv3 License.
28  *
29  ************************************************************************/
31 #ifndef _VERINFO_HRC
32 #define _VERINFO_HRC
34 // include ---------------------------------------------------------------
36 #ifndef WIN32
37 #include <ver.h>
38 #else
39 #include <winver.h>
40 #endif
42 // general preprocessor string management --------------------------------
44 #ifndef PPSX
45 #define PPSX(s) #s
46 #endif
47 #ifndef PPS
48 #define PPS(s) PPSX(s)
49 #endif
51 #ifndef PPCX
52 #define PPCX(s1, s2) s1##s2
53 #endif
54 #ifndef PPCAT
55 #define PPCAT(s1, s2) PPCX(s1, s2)
56 #endif
58 // define order of date parts --------------------------------------------
60 #if defined(LG_D)
61   #define VER_DMY
62 #else
63   #define VER_YMD
64 #endif
66 // set VERVARIANT to 0 if not defined ------------------------------------
68 #if !defined(VERVARIANT)
69   #define VERVARIANT 0
70 #endif
72 // define pre release state ----------------------------------------------
74 #ifdef VER_CONCEPT
75   #define VER_PREL 1
76   #define VER_COUNT (0+VER_CONCEPT)
77   #define VER1 Concept (Level VER_CONCEPT)
78 #endif
80 #ifdef VER_ALPHA
81   #define VER_PREL 1
82   #define VER_COUNT (100+VER_ALPHA)
83   #define VER1 Alpha (Level VER_ALPHA)
84 #endif
86 #ifdef VER_BETA
87   #define VER_PREL 1
88   #define VER_COUNT (200+VER_BETA)
89   #define VER1 Beta (Level VER_BETA)
90 #endif
92 #ifdef VER_GAMMA
93   #define VER_PREL 1
94   #define VER_COUNT (300+VER_GAMMA)
95   #define VER1 Gamma (Level VER_GAMMA)
96 #endif
98 #ifdef VER_FINAL
99   #define VER_COUNT (500+VER_FINAL)
100   #if VER_FINAL==0
101     #undef VER1
102   #elif VER_FINAL==1
103     #define VER1 1
104   #elif VER_FINAL==2
105     #define VER1 2
106   #elif VER_FINAL==3
107     #define VER1 3
108   #elif VER_FINAL==4
109     #define VER1 4
110   #elif VER_FINAL==5
111     #define VER1 5
112   #elif VER_FINAL==6
113     #define VER1 6
114   #elif VER_FINAL==7
115     #define VER1 7
116   #elif VER_FINAL==8
117     #define VER1 8
118   #elif VER_FINAL==9
119     #define VER1 9
120   #elif VER_FINAL==10
121     #define VER1 a
122   #elif VER_FINAL==11
123     #define VER1 b
124   #elif VER_FINAL==12
125     #define VER1 c
126   #endif
127 #endif
129 #ifdef SUBVERSION
130 #if SUBVERSION < 10
131   #define VER4 PPCAT(0, SUBVERSION)
132 #else
133   #define VER4 SUBVERSION
134 #endif
135 #else
136   #define VER4 0.0
137 #endif
139 #ifndef VER1
140 #if VERVARIANT > 0
141   #define VER_LEVEL VERSION.VER4.VERVARIANT
142 #else
143   #define VER_LEVEL VERSION.VER4
144 #endif
145 #else
146   #define VERC1(a, b, c) a.b##c
147   #define VERC2(a, b, c) VERC1(a, b, c)
148   #define VER_LEVEL VERC2(VERSION, VER4, VER1)
149 #endif
151 #if !defined(VER_DMY) && VER_DAY < 10
152   #define VER5 PPCAT(0, VER_DAY)
153 #else
154   #define VER5 VER_DAY
155 #endif
157 // define month strings --------------------------------------------------
159 #if VER_MONTH==1
160   #define VER2 Jan
161 #elif VER_MONTH==2
162   #define VER2 Feb
163 #elif VER_MONTH==3
164   #ifdef LG_D
165     #define VER2 M\344r
166   #else
167     #define VER2 Mar
168   #endif
169 #elif VER_MONTH==4
170   #define VER2 Apr
171 #elif VER_MONTH==5
172   #ifdef LG_D
173     #define VER2 Mai
174   #else
175     #define VER2 May
176   #endif
177 #elif VER_MONTH==6
178   #define VER2 Jun
179 #elif VER_MONTH==7
180   #define VER2 Jul
181 #elif VER_MONTH==8
182   #define VER2 Aug
183 #elif VER_MONTH==9
184   #define VER2 Sep
185 #elif VER_MONTH==10
186   #ifdef LG_D
187     #define VER2 Okt
188   #else
189     #define VER2 Oct
190   #endif
191 #elif VER_MONTH==11
192   #define VER2 Nov
193 #elif VER_MONTH==12
194   #ifdef LG_D
195     #define VER2 Dez
196   #else
197     #define VER2 Dec
198   #endif
199 #endif
201 #ifdef LG_D
202   #define VERC3(a, b, c) a.b.c
203 #else
204   #define VERC3(a, b, c) c-b-a
205 #endif
206 #define VERC4(a, b, c) VERC3(a, b, c)
207 #define VER_DATE VERC4(VER5, VER2, VER_YEAR)
209 #if PPCAT(1, VER_FIRSTYEAR)==PPCAT(1, VER_YEAR)
210   #define VER_YEARRANGE VER_FIRSTYEAR
211 #else
212   #define VER_YEARRANGE VER_FIRSTYEAR-VER_YEAR
213 #endif
215 #if VER_FIRSTYEAR > 100
216 #define VERC5(a) Copyright \251 a by
217 #define VERC6(a) VERC5(a)
218 #else
219 #define VERC5(a) Copyright \251 20##a by
220 #define VERC6(a) VERC5(a)
221 #endif
223 #define S_CRIGHT PPS(VERC6(VER_YEARRANGE))
225 #ifdef LG_D
226 #define S_VERSION PPS(Version VER_LEVEL vom VER_DATE)
227 #else
228 #define S_VERSION PPS(Version VER_LEVEL of VER_DATE)
229 #endif
231 #endif  // _VERINFO_HRC