xref: /aoo4110/main/solenv/inc/verinfo.hrc (revision b1cdbd2c)
1*b1cdbd2cSJim Jagielski/**************************************************************
2*b1cdbd2cSJim Jagielski *
3*b1cdbd2cSJim Jagielski * Licensed to the Apache Software Foundation (ASF) under one
4*b1cdbd2cSJim Jagielski * or more contributor license agreements.  See the NOTICE file
5*b1cdbd2cSJim Jagielski * distributed with this work for additional information
6*b1cdbd2cSJim Jagielski * regarding copyright ownership.  The ASF licenses this file
7*b1cdbd2cSJim Jagielski * to you under the Apache License, Version 2.0 (the
8*b1cdbd2cSJim Jagielski * "License"); you may not use this file except in compliance
9*b1cdbd2cSJim Jagielski * with the License.  You may obtain a copy of the License at
10*b1cdbd2cSJim Jagielski *
11*b1cdbd2cSJim Jagielski *   http://www.apache.org/licenses/LICENSE-2.0
12*b1cdbd2cSJim Jagielski *
13*b1cdbd2cSJim Jagielski * Unless required by applicable law or agreed to in writing,
14*b1cdbd2cSJim Jagielski * software distributed under the License is distributed on an
15*b1cdbd2cSJim Jagielski * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
16*b1cdbd2cSJim Jagielski * KIND, either express or implied.  See the License for the
17*b1cdbd2cSJim Jagielski * specific language governing permissions and limitations
18*b1cdbd2cSJim Jagielski * under the License.
19*b1cdbd2cSJim Jagielski *
20*b1cdbd2cSJim Jagielski *************************************************************/
21*b1cdbd2cSJim Jagielski
22*b1cdbd2cSJim Jagielski
23*b1cdbd2cSJim Jagielski
24*b1cdbd2cSJim Jagielski#ifndef _VERINFO_HRC
25*b1cdbd2cSJim Jagielski#define _VERINFO_HRC
26*b1cdbd2cSJim Jagielski
27*b1cdbd2cSJim Jagielski// include ---------------------------------------------------------------
28*b1cdbd2cSJim Jagielski
29*b1cdbd2cSJim Jagielski#ifndef WIN32
30*b1cdbd2cSJim Jagielski#include <ver.h>
31*b1cdbd2cSJim Jagielski#else
32*b1cdbd2cSJim Jagielski#include <winver.h>
33*b1cdbd2cSJim Jagielski#endif
34*b1cdbd2cSJim Jagielski
35*b1cdbd2cSJim Jagielski// general preprocessor string management --------------------------------
36*b1cdbd2cSJim Jagielski
37*b1cdbd2cSJim Jagielski#ifndef PPSX
38*b1cdbd2cSJim Jagielski#define PPSX(s) #s
39*b1cdbd2cSJim Jagielski#endif
40*b1cdbd2cSJim Jagielski#ifndef PPS
41*b1cdbd2cSJim Jagielski#define PPS(s) PPSX(s)
42*b1cdbd2cSJim Jagielski#endif
43*b1cdbd2cSJim Jagielski
44*b1cdbd2cSJim Jagielski#ifndef PPCX
45*b1cdbd2cSJim Jagielski#define PPCX(s1, s2) s1##s2
46*b1cdbd2cSJim Jagielski#endif
47*b1cdbd2cSJim Jagielski#ifndef PPCAT
48*b1cdbd2cSJim Jagielski#define PPCAT(s1, s2) PPCX(s1, s2)
49*b1cdbd2cSJim Jagielski#endif
50*b1cdbd2cSJim Jagielski
51*b1cdbd2cSJim Jagielski// define order of date parts --------------------------------------------
52*b1cdbd2cSJim Jagielski
53*b1cdbd2cSJim Jagielski#if defined(LG_D)
54*b1cdbd2cSJim Jagielski  #define VER_DMY
55*b1cdbd2cSJim Jagielski#else
56*b1cdbd2cSJim Jagielski  #define VER_YMD
57*b1cdbd2cSJim Jagielski#endif
58*b1cdbd2cSJim Jagielski
59*b1cdbd2cSJim Jagielski// set VERVARIANT to 0 if not defined ------------------------------------
60*b1cdbd2cSJim Jagielski
61*b1cdbd2cSJim Jagielski#if !defined(VERVARIANT)
62*b1cdbd2cSJim Jagielski  #define VERVARIANT 0
63*b1cdbd2cSJim Jagielski#endif
64*b1cdbd2cSJim Jagielski
65*b1cdbd2cSJim Jagielski// define pre release state ----------------------------------------------
66*b1cdbd2cSJim Jagielski
67*b1cdbd2cSJim Jagielski#ifdef VER_CONCEPT
68*b1cdbd2cSJim Jagielski  #define VER_PREL 1
69*b1cdbd2cSJim Jagielski  #define VER_COUNT (0+VER_CONCEPT)
70*b1cdbd2cSJim Jagielski  #define VER1 Concept (Level VER_CONCEPT)
71*b1cdbd2cSJim Jagielski#endif
72*b1cdbd2cSJim Jagielski
73*b1cdbd2cSJim Jagielski#ifdef VER_ALPHA
74*b1cdbd2cSJim Jagielski  #define VER_PREL 1
75*b1cdbd2cSJim Jagielski  #define VER_COUNT (100+VER_ALPHA)
76*b1cdbd2cSJim Jagielski  #define VER1 Alpha (Level VER_ALPHA)
77*b1cdbd2cSJim Jagielski#endif
78*b1cdbd2cSJim Jagielski
79*b1cdbd2cSJim Jagielski#ifdef VER_BETA
80*b1cdbd2cSJim Jagielski  #define VER_PREL 1
81*b1cdbd2cSJim Jagielski  #define VER_COUNT (200+VER_BETA)
82*b1cdbd2cSJim Jagielski  #define VER1 Beta (Level VER_BETA)
83*b1cdbd2cSJim Jagielski#endif
84*b1cdbd2cSJim Jagielski
85*b1cdbd2cSJim Jagielski#ifdef VER_GAMMA
86*b1cdbd2cSJim Jagielski  #define VER_PREL 1
87*b1cdbd2cSJim Jagielski  #define VER_COUNT (300+VER_GAMMA)
88*b1cdbd2cSJim Jagielski  #define VER1 Gamma (Level VER_GAMMA)
89*b1cdbd2cSJim Jagielski#endif
90*b1cdbd2cSJim Jagielski
91*b1cdbd2cSJim Jagielski#ifdef VER_FINAL
92*b1cdbd2cSJim Jagielski  #define VER_COUNT (500+VER_FINAL)
93*b1cdbd2cSJim Jagielski  #if VER_FINAL==0
94*b1cdbd2cSJim Jagielski    #undef VER1
95*b1cdbd2cSJim Jagielski  #elif VER_FINAL==1
96*b1cdbd2cSJim Jagielski    #define VER1 1
97*b1cdbd2cSJim Jagielski  #elif VER_FINAL==2
98*b1cdbd2cSJim Jagielski    #define VER1 2
99*b1cdbd2cSJim Jagielski  #elif VER_FINAL==3
100*b1cdbd2cSJim Jagielski    #define VER1 3
101*b1cdbd2cSJim Jagielski  #elif VER_FINAL==4
102*b1cdbd2cSJim Jagielski    #define VER1 4
103*b1cdbd2cSJim Jagielski  #elif VER_FINAL==5
104*b1cdbd2cSJim Jagielski    #define VER1 5
105*b1cdbd2cSJim Jagielski  #elif VER_FINAL==6
106*b1cdbd2cSJim Jagielski    #define VER1 6
107*b1cdbd2cSJim Jagielski  #elif VER_FINAL==7
108*b1cdbd2cSJim Jagielski    #define VER1 7
109*b1cdbd2cSJim Jagielski  #elif VER_FINAL==8
110*b1cdbd2cSJim Jagielski    #define VER1 8
111*b1cdbd2cSJim Jagielski  #elif VER_FINAL==9
112*b1cdbd2cSJim Jagielski    #define VER1 9
113*b1cdbd2cSJim Jagielski  #elif VER_FINAL==10
114*b1cdbd2cSJim Jagielski    #define VER1 a
115*b1cdbd2cSJim Jagielski  #elif VER_FINAL==11
116*b1cdbd2cSJim Jagielski    #define VER1 b
117*b1cdbd2cSJim Jagielski  #elif VER_FINAL==12
118*b1cdbd2cSJim Jagielski    #define VER1 c
119*b1cdbd2cSJim Jagielski  #endif
120*b1cdbd2cSJim Jagielski#endif
121*b1cdbd2cSJim Jagielski
122*b1cdbd2cSJim Jagielski#ifdef SUBVERSION
123*b1cdbd2cSJim Jagielski#if SUBVERSION < 10
124*b1cdbd2cSJim Jagielski  #define VER4 PPCAT(0, SUBVERSION)
125*b1cdbd2cSJim Jagielski#else
126*b1cdbd2cSJim Jagielski  #define VER4 SUBVERSION
127*b1cdbd2cSJim Jagielski#endif
128*b1cdbd2cSJim Jagielski#else
129*b1cdbd2cSJim Jagielski  #define VER4 0.0
130*b1cdbd2cSJim Jagielski#endif
131*b1cdbd2cSJim Jagielski
132*b1cdbd2cSJim Jagielski#ifndef VER1
133*b1cdbd2cSJim Jagielski#if VERVARIANT > 0
134*b1cdbd2cSJim Jagielski  #define VER_LEVEL VERSION.VER4.VERVARIANT
135*b1cdbd2cSJim Jagielski#else
136*b1cdbd2cSJim Jagielski  #define VER_LEVEL VERSION.VER4
137*b1cdbd2cSJim Jagielski#endif
138*b1cdbd2cSJim Jagielski#else
139*b1cdbd2cSJim Jagielski  #define VERC1(a, b, c) a.b##c
140*b1cdbd2cSJim Jagielski  #define VERC2(a, b, c) VERC1(a, b, c)
141*b1cdbd2cSJim Jagielski  #define VER_LEVEL VERC2(VERSION, VER4, VER1)
142*b1cdbd2cSJim Jagielski#endif
143*b1cdbd2cSJim Jagielski
144*b1cdbd2cSJim Jagielski#if !defined(VER_DMY) && VER_DAY < 10
145*b1cdbd2cSJim Jagielski  #define VER5 PPCAT(0, VER_DAY)
146*b1cdbd2cSJim Jagielski#else
147*b1cdbd2cSJim Jagielski  #define VER5 VER_DAY
148*b1cdbd2cSJim Jagielski#endif
149*b1cdbd2cSJim Jagielski
150*b1cdbd2cSJim Jagielski// define month strings --------------------------------------------------
151*b1cdbd2cSJim Jagielski
152*b1cdbd2cSJim Jagielski#if VER_MONTH==1
153*b1cdbd2cSJim Jagielski  #define VER2 Jan
154*b1cdbd2cSJim Jagielski#elif VER_MONTH==2
155*b1cdbd2cSJim Jagielski  #define VER2 Feb
156*b1cdbd2cSJim Jagielski#elif VER_MONTH==3
157*b1cdbd2cSJim Jagielski  #ifdef LG_D
158*b1cdbd2cSJim Jagielski    #define VER2 M\344r
159*b1cdbd2cSJim Jagielski  #else
160*b1cdbd2cSJim Jagielski    #define VER2 Mar
161*b1cdbd2cSJim Jagielski  #endif
162*b1cdbd2cSJim Jagielski#elif VER_MONTH==4
163*b1cdbd2cSJim Jagielski  #define VER2 Apr
164*b1cdbd2cSJim Jagielski#elif VER_MONTH==5
165*b1cdbd2cSJim Jagielski  #ifdef LG_D
166*b1cdbd2cSJim Jagielski    #define VER2 Mai
167*b1cdbd2cSJim Jagielski  #else
168*b1cdbd2cSJim Jagielski    #define VER2 May
169*b1cdbd2cSJim Jagielski  #endif
170*b1cdbd2cSJim Jagielski#elif VER_MONTH==6
171*b1cdbd2cSJim Jagielski  #define VER2 Jun
172*b1cdbd2cSJim Jagielski#elif VER_MONTH==7
173*b1cdbd2cSJim Jagielski  #define VER2 Jul
174*b1cdbd2cSJim Jagielski#elif VER_MONTH==8
175*b1cdbd2cSJim Jagielski  #define VER2 Aug
176*b1cdbd2cSJim Jagielski#elif VER_MONTH==9
177*b1cdbd2cSJim Jagielski  #define VER2 Sep
178*b1cdbd2cSJim Jagielski#elif VER_MONTH==10
179*b1cdbd2cSJim Jagielski  #ifdef LG_D
180*b1cdbd2cSJim Jagielski    #define VER2 Okt
181*b1cdbd2cSJim Jagielski  #else
182*b1cdbd2cSJim Jagielski    #define VER2 Oct
183*b1cdbd2cSJim Jagielski  #endif
184*b1cdbd2cSJim Jagielski#elif VER_MONTH==11
185*b1cdbd2cSJim Jagielski  #define VER2 Nov
186*b1cdbd2cSJim Jagielski#elif VER_MONTH==12
187*b1cdbd2cSJim Jagielski  #ifdef LG_D
188*b1cdbd2cSJim Jagielski    #define VER2 Dez
189*b1cdbd2cSJim Jagielski  #else
190*b1cdbd2cSJim Jagielski    #define VER2 Dec
191*b1cdbd2cSJim Jagielski  #endif
192*b1cdbd2cSJim Jagielski#endif
193*b1cdbd2cSJim Jagielski
194*b1cdbd2cSJim Jagielski#ifdef LG_D
195*b1cdbd2cSJim Jagielski  #define VERC3(a, b, c) a.b.c
196*b1cdbd2cSJim Jagielski#else
197*b1cdbd2cSJim Jagielski  #define VERC3(a, b, c) c-b-a
198*b1cdbd2cSJim Jagielski#endif
199*b1cdbd2cSJim Jagielski#define VERC4(a, b, c) VERC3(a, b, c)
200*b1cdbd2cSJim Jagielski#define VER_DATE VERC4(VER5, VER2, VER_YEAR)
201*b1cdbd2cSJim Jagielski
202*b1cdbd2cSJim Jagielski#if PPCAT(1, VER_FIRSTYEAR)==PPCAT(1, VER_YEAR)
203*b1cdbd2cSJim Jagielski  #define VER_YEARRANGE VER_FIRSTYEAR
204*b1cdbd2cSJim Jagielski#else
205*b1cdbd2cSJim Jagielski  #define VER_YEARRANGE VER_FIRSTYEAR-VER_YEAR
206*b1cdbd2cSJim Jagielski#endif
207*b1cdbd2cSJim Jagielski
208*b1cdbd2cSJim Jagielski#if VER_FIRSTYEAR > 100
209*b1cdbd2cSJim Jagielski#define VERC5(a) Copyright \251 a by
210*b1cdbd2cSJim Jagielski#define VERC6(a) VERC5(a)
211*b1cdbd2cSJim Jagielski#else
212*b1cdbd2cSJim Jagielski#define VERC5(a) Copyright \251 20##a by
213*b1cdbd2cSJim Jagielski#define VERC6(a) VERC5(a)
214*b1cdbd2cSJim Jagielski#endif
215*b1cdbd2cSJim Jagielski
216*b1cdbd2cSJim Jagielski#define S_CRIGHT PPS(VERC6(VER_YEARRANGE))
217*b1cdbd2cSJim Jagielski
218*b1cdbd2cSJim Jagielski#ifdef LG_D
219*b1cdbd2cSJim Jagielski#define S_VERSION PPS(Version VER_LEVEL vom VER_DATE)
220*b1cdbd2cSJim Jagielski#else
221*b1cdbd2cSJim Jagielski#define S_VERSION PPS(Version VER_LEVEL of VER_DATE)
222*b1cdbd2cSJim Jagielski#endif
223*b1cdbd2cSJim Jagielski
224*b1cdbd2cSJim Jagielski#endif	// _VERINFO_HRC
225*b1cdbd2cSJim Jagielski
226