| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156 |
- //-------------------------------------------------------------------------------------------------------
- // 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"
|