/************************************************************** * * Licensed to the Apache Software Foundation (ASF) under one * or more contributor license agreements. See the NOTICE file * distributed with this work for additional information * regarding copyright ownership. The ASF licenses this file * to you under the Apache License, Version 2.0 (the * "License"); you may not use this file except in compliance * with the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, * software distributed under the License is distributed on an * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY * KIND, either express or implied. See the License for the * specific language governing permissions and limitations * under the License. * *************************************************************/ #ifndef _VERINFO_HRC #define _VERINFO_HRC // include --------------------------------------------------------------- #ifndef WIN32 #include #else #include #endif // general preprocessor string management -------------------------------- #ifndef PPSX #define PPSX(s) #s #endif #ifndef PPS #define PPS(s) PPSX(s) #endif #ifndef PPCX #define PPCX(s1, s2) s1##s2 #endif #ifndef PPCAT #define PPCAT(s1, s2) PPCX(s1, s2) #endif // define order of date parts -------------------------------------------- #if defined(LG_D) #define VER_DMY #else #define VER_YMD #endif // set VERVARIANT to 0 if not defined ------------------------------------ #if !defined(VERVARIANT) #define VERVARIANT 0 #endif // define pre release state ---------------------------------------------- #ifdef VER_CONCEPT #define VER_PREL 1 #define VER_COUNT (0+VER_CONCEPT) #define VER1 Concept (Level VER_CONCEPT) #endif #ifdef VER_ALPHA #define VER_PREL 1 #define VER_COUNT (100+VER_ALPHA) #define VER1 Alpha (Level VER_ALPHA) #endif #ifdef VER_BETA #define VER_PREL 1 #define VER_COUNT (200+VER_BETA) #define VER1 Beta (Level VER_BETA) #endif #ifdef VER_GAMMA #define VER_PREL 1 #define VER_COUNT (300+VER_GAMMA) #define VER1 Gamma (Level VER_GAMMA) #endif #ifdef VER_FINAL #define VER_COUNT (500+VER_FINAL) #if VER_FINAL==0 #undef VER1 #elif VER_FINAL==1 #define VER1 1 #elif VER_FINAL==2 #define VER1 2 #elif VER_FINAL==3 #define VER1 3 #elif VER_FINAL==4 #define VER1 4 #elif VER_FINAL==5 #define VER1 5 #elif VER_FINAL==6 #define VER1 6 #elif VER_FINAL==7 #define VER1 7 #elif VER_FINAL==8 #define VER1 8 #elif VER_FINAL==9 #define VER1 9 #elif VER_FINAL==10 #define VER1 a #elif VER_FINAL==11 #define VER1 b #elif VER_FINAL==12 #define VER1 c #endif #endif #ifdef SUBVERSION #if SUBVERSION < 10 #define VER4 PPCAT(0, SUBVERSION) #else #define VER4 SUBVERSION #endif #else #define VER4 0.0 #endif #ifndef VER1 #if VERVARIANT > 0 #define VER_LEVEL VERSION.VER4.VERVARIANT #else #define VER_LEVEL VERSION.VER4 #endif #else #define VERC1(a, b, c) a.b##c #define VERC2(a, b, c) VERC1(a, b, c) #define VER_LEVEL VERC2(VERSION, VER4, VER1) #endif #if !defined(VER_DMY) && VER_DAY < 10 #define VER5 PPCAT(0, VER_DAY) #else #define VER5 VER_DAY #endif // define month strings -------------------------------------------------- #if VER_MONTH==1 #define VER2 Jan #elif VER_MONTH==2 #define VER2 Feb #elif VER_MONTH==3 #ifdef LG_D #define VER2 M\344r #else #define VER2 Mar #endif #elif VER_MONTH==4 #define VER2 Apr #elif VER_MONTH==5 #ifdef LG_D #define VER2 Mai #else #define VER2 May #endif #elif VER_MONTH==6 #define VER2 Jun #elif VER_MONTH==7 #define VER2 Jul #elif VER_MONTH==8 #define VER2 Aug #elif VER_MONTH==9 #define VER2 Sep #elif VER_MONTH==10 #ifdef LG_D #define VER2 Okt #else #define VER2 Oct #endif #elif VER_MONTH==11 #define VER2 Nov #elif VER_MONTH==12 #ifdef LG_D #define VER2 Dez #else #define VER2 Dec #endif #endif #ifdef LG_D #define VERC3(a, b, c) a.b.c #else #define VERC3(a, b, c) c-b-a #endif #define VERC4(a, b, c) VERC3(a, b, c) #define VER_DATE VERC4(VER5, VER2, VER_YEAR) #if PPCAT(1, VER_FIRSTYEAR)==PPCAT(1, VER_YEAR) #define VER_YEARRANGE VER_FIRSTYEAR #else #define VER_YEARRANGE VER_FIRSTYEAR-VER_YEAR #endif #if VER_FIRSTYEAR > 100 #define VERC5(a) Copyright \251 a by #define VERC6(a) VERC5(a) #else #define VERC5(a) Copyright \251 20##a by #define VERC6(a) VERC5(a) #endif #define S_CRIGHT PPS(VERC6(VER_YEARRANGE)) #ifdef LG_D #define S_VERSION PPS(Version VER_LEVEL vom VER_DATE) #else #define S_VERSION PPS(Version VER_LEVEL of VER_DATE) #endif #endif // _VERINFO_HRC