| /************************************************************** |
| * |
| * 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 <ver.h> |
| #else |
| #include <winver.h> |
| #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 |
| |