forked from chakra-core/ChakraCore
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathCoreCommon.ver
More file actions
156 lines (129 loc) · 6.21 KB
/
CoreCommon.ver
File metadata and controls
156 lines (129 loc) · 6.21 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
//-------------------------------------------------------------------------------------------------------
// Copyright (C) Microsoft. All rights reserved.
// Licensed under the MIT license. See LICENSE.txt file in the project root for full license information.
//-------------------------------------------------------------------------------------------------------
#include "CommonDefines.h"
/// For version metadata defined in the source, see:
/// core/bin/lib/Common/CommonDefines.h
/// core/bin/lib/Common/ChakraCoreVersion.h
///
/// Build number is defined in the Chakra.Generated.BuildInfo.props file generated by
/// Build/scripts/pre_build.ps1
/// e.g.:
/// <ChakraVersionBuildNumber>1</ChakraVersionBuildNumber>
/// <ChakraVersionBuildQFENumber>23456</ChakraVersionBuildQFENumber>
/// Which are used to define the C++ macros below, respectively:
/// CHAKRA_VERSION_BUILD_NUMBER
/// CHAKRA_VERSION_BUILD_QFE
///
/// Binary version string is composed from the following values:
/// CHAKRA_CORE_MAJOR_VERSION . CHAKRA_CORE_MINOR_VERSION . CHAKRA_CORE_PATCH_VERSION . CHAKRA_CORE_VERSION_RELEASE_QFE
/// e.g. 1.2.1.0
/// These fields must be explicitly set in the source.
/// Note: VER_PRODUCTBUILD is always set to 0.
#define VER_COMPANYNAME_STR "Microsoft Corporation"
#define VER_FILEFLAGSMASK VS_FFI_FILEFLAGSMASK
#define VER_FILEOS VOS_NT_WINDOWS32
#define VER_PRODUCTMAJORVERSION CHAKRA_CORE_MAJOR_VERSION
#define VER_PRODUCTMINORVERSION CHAKRA_CORE_MINOR_VERSION
#define VER_PRODUCTPATCHVERSION CHAKRA_CORE_PATCH_VERSION
// File Flags
#if DBG
#define VER_DEBUG VS_FF_DEBUG
#else
#define VER_DEBUG 0
#endif
#if CHAKRA_CORE_VERSION_RELEASE
#define VER_PRIVATE 0
#else
#define VER_PRIVATE VS_FF_PRIVATEBUILD
#endif
#if CHAKRA_CORE_VERSION_RELEASE && CHAKRA_CORE_VERSION_PRERELEASE
#define VER_PRERELEASE VS_FF_PRERELEASE
#else
#define VER_PRERELEASE 0
#endif
#define VER_FILEFLAGS (VER_DEBUG|VER_PRIVATE|VER_PRERELEASE)
// File description suffix
#if DBG
#define VER_FILEDESCRIPTION_SUFFIX1_STR L"Debug"
#elif defined(ENABLE_DEBUG_CONFIG_OPTIONS)
#define VER_FILEDESCRIPTION_SUFFIX1_STR L"Test"
// else, we don't display a build configuration suffix for Release builds
#endif
#if !CHAKRA_CORE_VERSION_RELEASE
#define VER_FILEDESCRIPTION_SUFFIX2_STR L"Private"
#elif CHAKRA_CORE_VERSION_PRERELEASE // _RELEASE && _PRERELEASE
#define VER_FILEDESCRIPTION_SUFFIX2_STR L"Pre-release"
// else _RELEASE && !_PRERELEASE
// we don't display a suffix because this binary was built to potentially be released
#endif
#define VER_PRODUCTBUILD 0
#define VER_PRODUCTBUILD_QFE CHAKRA_CORE_VERSION_RELEASE_QFE
#ifdef CHAKRA_VERSION_BUILD_COMMIT
#define __BUILDMACHINE__ CHAKRA_VERSION_BUILD_COMMIT
#endif
#if defined(CHAKRA_VERSION_BUILD_NUMBER) && defined(CHAKRA_VERSION_BUILD_QFE)
#if (CHAKRA_VERSION_BUILD_NUMBER < 10)
#define CHAKRA_VERSION_BUILD_NUMBER_PADDING 0000
#elif (CHAKRA_VERSION_BUILD_NUMBER < 100)
#define CHAKRA_VERSION_BUILD_NUMBER_PADDING 000
#elif (CHAKRA_VERSION_BUILD_NUMBER < 1000)
#define CHAKRA_VERSION_BUILD_NUMBER_PADDING 00
#elif (CHAKRA_VERSION_BUILD_NUMBER < 10000)
#define CHAKRA_VERSION_BUILD_NUMBER_PADDING 0
#endif
#if (CHAKRA_VERSION_BUILD_QFE < 10)
#define CHAKRA_VERSION_BUILD_QFE_PADDING 0000
#elif (CHAKRA_VERSION_BUILD_QFE < 100)
#define CHAKRA_VERSION_BUILD_QFE_PADDING 000
#elif (CHAKRA_VERSION_BUILD_QFE < 1000)
#define CHAKRA_VERSION_BUILD_QFE_PADDING 00
#elif (CHAKRA_VERSION_BUILD_QFE < 10000)
#define CHAKRA_VERSION_BUILD_QFE_PADDING 0
#endif
#define CONCAT_PADDING_(padding,value) padding ## value
#define CONCAT_PADDING(padding,value) CONCAT_PADDING_(padding,value)
#ifdef CHAKRA_VERSION_BUILD_NUMBER_PADDING
#define PADDED_CHAKRA_VERSION_BUILD_NUMBER CONCAT_PADDING(CHAKRA_VERSION_BUILD_NUMBER_PADDING,CHAKRA_VERSION_BUILD_NUMBER)
#else
#define PADDED_CHAKRA_VERSION_BUILD_NUMBER CHAKRA_VERSION_BUILD_NUMBER
#endif
#ifdef CHAKRA_VERSION_BUILD_QFE_PADDING
#define PADDED_CHAKRA_VERSION_BUILD_QFE CONCAT_PADDING(CHAKRA_VERSION_BUILD_QFE_PADDING,CHAKRA_VERSION_BUILD_QFE)
#else
#define PADDED_CHAKRA_VERSION_BUILD_QFE CHAKRA_VERSION_BUILD_QFE
#endif
#ifdef CHAKRA_VERSION_BUILD_DATE
#define __BUILDDATE__ PADDED_CHAKRA_VERSION_BUILD_NUMBER.PADDED_CHAKRA_VERSION_BUILD_QFE.CHAKRA_VERSION_BUILD_DATE
#else
#define __BUILDDATE__ PADDED_CHAKRA_VERSION_BUILD_NUMBER.PADDED_CHAKRA_VERSION_BUILD_QFE
#endif
#else // defined(CHAKRA_VERSION_BUILD_NUMBER) && defined(CHAKRA_VERSION_BUILD_QFE)
#ifdef CHAKRA_VERSION_BUILD_DATE
#define __BUILDDATE__ CHAKRA_VERSION_BUILD_DATE
#endif
#endif // defined(CHAKRA_VERSION_BUILD_NUMBER) && defined(CHAKRA_VERSION_BUILD_QFE)
#define VER_PRODUCTVERSION VER_PRODUCTMAJORVERSION,VER_PRODUCTMINORVERSION,VER_PRODUCTPATCHVERSION,VER_PRODUCTBUILD_QFE
#define VER_PRODUCTVERSION_MAJORMINOR2(x,y) #x "." #y
#define VER_PRODUCTVERSION_MAJORMINOR1(x,y) VER_PRODUCTVERSION_MAJORMINOR2(x, y)
#define VER_PRODUCTVERSION_STRING VER_PRODUCTVERSION_MAJORMINOR1(VER_PRODUCTMAJORVERSION, VER_PRODUCTMINORVERSION)
#define VER_PRODUCTVERSION_STR4(x) VER_PRODUCTVERSION_STRING "." #x
#define VER_PRODUCTVERSION_STR3(x) VER_PRODUCTVERSION_STR4(x)
#define VER_PRODUCTVERSION_STR2(x,y) VER_PRODUCTVERSION_STRING "." #x "." #y
#define VER_PRODUCTVERSION_STR1(x,y) VER_PRODUCTVERSION_STR2(x, y)
#define VER_PRODUCTVERSION_STR VER_PRODUCTVERSION_STR1(VER_PRODUCTPATCHVERSION, VER_PRODUCTBUILD_QFE)
#ifdef VER_FILEDESCRIPTION_SUFFIX1_STR
#ifdef VER_FILEDESCRIPTION_SUFFIX2_STR
#define VER_FILEDESCRIPTION_SUFFIX_STR L" (" VER_FILEDESCRIPTION_SUFFIX1_STR L" " VER_FILEDESCRIPTION_SUFFIX2_STR L")"
#else
#define VER_FILEDESCRIPTION_SUFFIX_STR L" (" VER_FILEDESCRIPTION_SUFFIX1_STR L")"
#endif
#elif defined(VER_FILEDESCRIPTION_SUFFIX2_STR)
#define VER_FILEDESCRIPTION_SUFFIX_STR L" (" VER_FILEDESCRIPTION_SUFFIX2_STR L")"
#else
#define VER_FILEDESCRIPTION_SUFFIX_STR
#endif
#define VER_PRODUCTNAME_STR VER_PRODUCTNAME L"\0"
#define VER_FILEDESCRIPTION_STR VER_PRODUCTNAME VER_FILEDESCRIPTION_SUFFIX_STR L"\0"
#include "common.ver"