blob: d5eea6dca4edad4e2e25b2cf87dff653dddafde1 [file] [log] [blame]
Sébastien Blin1f915762020-08-03 13:27:42 -04001#pragma once
2
3#define BUILD_YEAR_CH0 (__DATE__[ 7])
4#define BUILD_YEAR_CH1 (__DATE__[ 8])
5#define BUILD_YEAR_CH2 (__DATE__[ 9])
6#define BUILD_YEAR_CH3 (__DATE__[10])
7
8#define BUILD_MONTH_IS_JAN (__DATE__[0] == 'J' && __DATE__[1] == 'a' && __DATE__[2] == 'n')
9#define BUILD_MONTH_IS_FEB (__DATE__[0] == 'F')
10#define BUILD_MONTH_IS_MAR (__DATE__[0] == 'M' && __DATE__[1] == 'a' && __DATE__[2] == 'r')
11#define BUILD_MONTH_IS_APR (__DATE__[0] == 'A' && __DATE__[1] == 'p')
12#define BUILD_MONTH_IS_MAY (__DATE__[0] == 'M' && __DATE__[1] == 'a' && __DATE__[2] == 'y')
13#define BUILD_MONTH_IS_JUN (__DATE__[0] == 'J' && __DATE__[1] == 'u' && __DATE__[2] == 'n')
14#define BUILD_MONTH_IS_JUL (__DATE__[0] == 'J' && __DATE__[1] == 'u' && __DATE__[2] == 'l')
15#define BUILD_MONTH_IS_AUG (__DATE__[0] == 'A' && __DATE__[1] == 'u')
16#define BUILD_MONTH_IS_SEP (__DATE__[0] == 'S')
17#define BUILD_MONTH_IS_OCT (__DATE__[0] == 'O')
18#define BUILD_MONTH_IS_NOV (__DATE__[0] == 'N')
19#define BUILD_MONTH_IS_DEC (__DATE__[0] == 'D')
20
21#define BUILD_MONTH_CH0 \
22 ((BUILD_MONTH_IS_OCT || BUILD_MONTH_IS_NOV || BUILD_MONTH_IS_DEC) ? '1' : '0')
23
24#define BUILD_MONTH_CH1 \
25 ( \
26 (BUILD_MONTH_IS_JAN) ? '1' : \
27 (BUILD_MONTH_IS_FEB) ? '2' : \
28 (BUILD_MONTH_IS_MAR) ? '3' : \
29 (BUILD_MONTH_IS_APR) ? '4' : \
30 (BUILD_MONTH_IS_MAY) ? '5' : \
31 (BUILD_MONTH_IS_JUN) ? '6' : \
32 (BUILD_MONTH_IS_JUL) ? '7' : \
33 (BUILD_MONTH_IS_AUG) ? '8' : \
34 (BUILD_MONTH_IS_SEP) ? '9' : \
35 (BUILD_MONTH_IS_OCT) ? '0' : \
36 (BUILD_MONTH_IS_NOV) ? '1' : \
37 (BUILD_MONTH_IS_DEC) ? '2' : \
38 /* error default */ '?' \
39 )
40
41#define BUILD_DAY_CH0 ((__DATE__[4] >= '0') ? (__DATE__[4]) : '0')
42#define BUILD_DAY_CH1 (__DATE__[ 5])
43
44#define BUILD_HOUR_CH0 (__TIME__[0])
45#define BUILD_HOUR_CH1 (__TIME__[1])
46
47#define BUILD_MIN_CH0 (__TIME__[ 3])
48#define BUILD_MIN_CH1 (__TIME__[ 4])
49
50const char VERSION_STRING[] = {
51 BUILD_YEAR_CH0, BUILD_YEAR_CH1, BUILD_YEAR_CH2, BUILD_YEAR_CH3,
52 BUILD_MONTH_CH0, BUILD_MONTH_CH1,
53 BUILD_DAY_CH0, BUILD_DAY_CH1,
54 BUILD_HOUR_CH0, BUILD_HOUR_CH1,
55 BUILD_MIN_CH0, BUILD_MIN_CH1,
56 '\0'
57};